21xrx.com
2024-05-20 12:30:28 Monday
登录
文章检索 我的文章 写文章
OpenCV图像保存函数
2023-08-14 08:28:33 深夜i     --     --
OpenCV 图像 保存函数

OpenCV是一个开源的计算机视觉库,提供了很多用于处理图像和视频的函数和工具。其中之一就是图像保存函数,它能够将处理过的图像保存到计算机硬盘上。

OpenCV提供了两个主要的图像保存函数:imwrite和imencode。

imwrite函数用于将图像保存到硬盘上。它的语法如下:


bool imwrite(const string& filename, InputArray image, const vector<int>& params = vector<int>());

其中,filename是保存图像的文件名;image是要保存的图像;params是一个可选的参数,用于指定保存图像的格式和压缩等级。

这个函数的返回值是一个bool值,表示保存是否成功。如果成功保存图像,则返回true;否则返回false。

下面是一个示例代码,演示了如何使用imwrite函数保存一张图像:


#include <iostream>

#include <opencv2/opencv.hpp>

using namespace std;

using namespace cv;

int main() {

  // 读取图像

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

  // 检查图像是否正确读取

  if (image.empty())

    cout << "图像读取失败!" << endl;

    return -1;

  

  // 保存图像

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

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

  if (saved)

    cout << "图像保存成功!" << endl;

   else

    cout << "图像保存失败!" << endl;

  

  return 0;

}

imencode函数也可以用于图像保存,但它保存的是编码后的图像数据,而非直接保存为图像文件。这个函数的语法如下:


bool imencode(const string& ext, InputArray image, vector<uchar>& buf, const vector<int>& params = vector<int>());

其中,ext是保存图像的扩展名,比如.jpg;image是要保存的图像;buf是保存编码后图像数据的缓冲区;params是一个可选的参数,用于指定保存图像的格式和压缩等级。

这个函数的返回值是一个bool值,表示保存是否成功。如果成功保存图像,则返回true;否则返回false。

总之,OpenCV提供了imwrite和imencode函数来保存图像。无论是保存为文件还是保存为编码后的数据,都能满足不同的需求。通过使用这些函数,我们可以方便地将处理过的图像保存到硬盘上,以便后续使用和分析。

  
  

评论区

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