21xrx.com
2024-12-22 11:01:52 Sunday
登录
文章检索 我的文章 写文章
OpenCV中imwrite函数的用法简介
2023-10-24 11:31:24 深夜i     --     --
OpenCV imwrite 函数 用法 简介

OpenCV是一个开源的计算机视觉库,它提供了丰富的图像处理和计算机视觉算法。其中,imwrite函数是OpenCV中用于将图像保存为文件的函数之一。本文将介绍imwrite函数的用法。

imwrite函数的声明如下:


bool imwrite(const String& filename, InputArray img, const std::vector<int>& params = std::vector<int>());

其中,filename表示保存的文件名,img是待保存的图像,params是一个可选的参数向量,用于控制保存的图像格式和质量。

使用imwrite函数保存图像非常简单。首先,我们需要加载一个图像到内存中,可以使用imread函数来完成。下面是一个加载图像并保存为文件的示例代码:


#include <opencv2/core.hpp>

#include <opencv2/highgui.hpp>

using namespace cv;

int main()

{

  // 加载图像

  Mat image = imread("input.jpg");

  // 检查图像是否成功加载

  if (image.empty())

  {

    printf("Failed to load image.\n");

    return -1;

  }

  // 保存图像

  bool success = imwrite("output.jpg", image);

  // 检查图像是否成功保存

  if (!success)

  {

    printf("Failed to save image.\n");

    return -1;

  }

  printf("Image saved successfully.\n");

  return 0;

}

上述代码中,我们首先使用imread函数加载一个名为"input.jpg"的图像,然后使用imwrite函数将加载的图像保存为名为"output.jpg"的文件。最后,我们检查图像是否成功保存,并输出相应的提示消息。

除了保存为jpg格式外,imwrite函数还支持多种其他的图像格式,如png、bmp等。通过在params参数中传递相应的请求,我们可以控制保存的图像格式和质量。例如:


imwrite("output.png", image, CV_IMWRITE_PNG_COMPRESSION);

上述代码将图像保存为png格式,并设置压缩级别为9。

总结起来,imwrite函数是OpenCV中用于保存图像的基本函数之一。使用这个函数,我们可以方便地将图像保存为文件,并通过调整params参数来控制保存的图像格式和质量。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复