21xrx.com
2025-04-09 01:29:41 Wednesday
文章检索 我的文章 写文章
OpenCV中imwrite函数的用法简介
2023-10-24 11:31:24 深夜i     26     0
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参数来控制保存的图像格式和质量。

  
  

评论区

请求出错了