在OpenCV中有俩宏: COLOR_BGR2GRAY 与 COLOR_GRAY2BGR
这俩宏主要应用在颜色空间转换函数cvtColor函数中:
cvtColor(srcImage,dstImage, COLOR_BGR2GRAY);
cvtColor(srcImage,dstImage, COLOR_GRAY2BGR);
第一行代码是3通道BGR图转为单通道灰度图,第二行代码是单通道灰度图转为3通道RGB图(3个通道的值都是原先单通道灰度图的值,此时不应该叫灰度图,只是显示效果与单通道灰度图一致),注意OpenCV中图像通道顺序为BGR而非RGB。
二值图像:图像的二值化,就是将图像上的像素点的灰度值设置为0或255(非0即255,0表示黑色,255表示白色),也就是将整个图像呈现出明显的只有黑和白的视觉效果。OpenCV中Canny边缘检测输出的图像就是二值图像。
如何能方便查看输出的图像是否为二值图以及通道数是多少?
推荐使用VS中OpenCV编程插件Image Watch,可以在网上搜索如何配置使用,十分方便,可以很直观地查看图像的通道数及是否为二值图像。