opencv:图像的灰度转换

本介绍彩色图像到灰度图像的转换,opencv提供了cvtColor函数用于图像颜色控件转换,可以实现RGB颜色、HSV颜色、HSI颜色、lab颜色、YUV颜色等转换,也可以彩色和灰度互相转换。下面介绍cvtColor函数各个参数的功能:

 

void cv::cvtColor(

      cv::InputArray src, // 输入序列

      cv::OutputArray dst, // 输出序列

      int code, // 颜色映射码

      int dstCn = 0 // 输出的通道数 (0='automatic')

     );

  • src,输入图像

  • dst,输出图像

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

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

实现代码:

#include

using namespace cv;

using namespace std;

void main()

{

Mat src, imgGray;

src = imread("lena.jpg");

namedWindow("src", WINDOW_NORMAL);

imshow("src", src);

cvtColor(src, imgGray, CV_BGR2GRAY);//二值化前先进行灰度转换

namedWindow("Gray image", WINDOW_NORMAL);

imshow("Gray image", imgGray);



waitKey();

}

结果:

opencv:图像的灰度转换_第1张图片opencv:图像的灰度转换_第2张图片                 src                                            Gray image      

如果需要其他颜色空间的转换可参考code的参数进行转换:

opencv:图像的灰度转换_第3张图片

到此图像灰度化介绍告一段落,迎大家留言讨论,如有兴趣一起学习图像处理、计算机视觉、深度学习相关领域欢迎关注号,一起学习进步,

可以微信搜索“图像处理CV讲武堂”关注,也可如下二维扫码关注。

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