opencv:彩色图像到灰度图像的转换与保存

本文详细介绍基于opencv的彩色图像到灰度图像的转换和图像的保存

首先介绍要用到的两个关键的opencv函数,cvtColor(InputArray src, OutputArray dst,   int code,  int dstCn = 0) 和imwrite(const String & filename,InputArray img, const std::vector & params = std::vector())

 

cvtColor(InputArray src, OutputArray dst,   int code,  int dstCn = 0):

  •  InputArray src: 输入图像即要进行颜色空间变换的原图像,可以是Mat类 

  • OutputArray dst: 输出图像即进行颜色空间变换后存储图像,也可以Mat类 

  • int code: 转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片,

  • int dstCn = 0: 目标图像通道数,如果取值为0,则由src和code决定

 

 

imwrite(const String &filename, InputArrary img, const std:vector& params = std::vector())

  • filename:需要保存图像的文件名,要保存图片为哪种格式,就带什么后缀。

  • img:要保存的图像。

  • params:表示为特定格式保存的参数编码。

完整代码如下:

#include 

#include

using namespace cv;

using namespace std;

void main()

{

Mat image;

Mat imgGray;

image = imread("lena.jpg");//根据自己图像路径填写,此代码默认当前文件夹

cvtColor(image, imgGray, CV_BGR2GRAY);

namedWindow("image", WINDOW_NORMAL);

imshow("image", imgGray);

imwrite("result.jpg", imgGray);//根据自己图像路径填写,此代码默认当前文件夹

waitKey();

}

下图为结果图

opencv:彩色图像到灰度图像的转换与保存_第1张图片                  opencv:彩色图像到灰度图像的转换与保存_第2张图片

原图                                                     灰度图 

灰度图像将会保存到了指定文件夹

opencv:彩色图像到灰度图像的转换与保存_第3张图片

至此大功告成,如果有什么问题欢迎留言讨论,关注公众号我们一起学习

你可能感兴趣的:(CV,随堂学习笔记,opencv,计算机视觉)