一、目标
本博客教您怎样使用cvtColor函数将彩色图片转化成灰度图片。
二、函数说明
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
src和dst分别是待转的图像(src)和待转图像转换后的图像(dst);code是一个掩码,表示由src到dst之间是怎么转的,比如是彩色转为灰度,还是彩色转为HSI模式;最后的dstCn表示dst图像的波段数,这个值默认是0,它可以从参数code中推断。
code的模式包括:
CV_RGB2GRAY:<彩色图像转灰度图像>,
CV_BGR2YCrCb:<彩色图像转YCrCb图像>,
CV_RGB2YCrCb
CV_YCrCb2BGR
CV_YCrCb2RGB
CV_BGR2HSV
CV_RGB2HSV
CV_HSV2BGR
CV_HSV2RGB
三、程序代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
四、解释
1、读入图片
- 1
- 1
imread()第一个参数是图片的绝对地址,第二个参数是以什么类型的图片读入
2、读取图片失败
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
读取失败则返回。
3、显示图片
- 1
- 2
- 1
- 2
namedWindow创建一个窗口,namedWindow()第一个参数给窗口起个名字,第二个参数的为0和1
WINDOW_AUTOSIZE=1;WINDOW_NORMAL=0;
imshow(),第一个参数的名字为窗口的名字,第二个参数是要显示的图片。
4、转化为灰度图
- 1
- 1
cvtColor第一个参数为原图片
第二个参数为目的图片
第三个参数为转化的掩码,表示转化的方向
5、把图片写到文件中
- 1
- 1
imwrite()第一个参数为要存储文件的绝对地址。
第二个参数为要存储的文件。
6、程序结束
- 1
- 1
等待一次按键,程序结束。
五、结果
程序运行结果如下:
http://blog.csdn.net/ab1322583838/article/details/52047611