参考自:https://blog.csdn.net/zhaoxi_li/article/details/102529160
在opencv3.0中,
cv::IMREAD_COLOR
解析jpg时候,由cv::JpegDecoder
解码得到一个RGB图像,然后由icvCvt_RGB2BGR_8u_C3R()
函数交换R和B空间,得到BGR格式的彩色图。cv::IMREAD_GRAYSCALE
这个图像由cv::JpegDecoder
解码得到一个灰度图,所有的颜色转换和其他预处理或后处理等相关细节都是由libjpeg处理的,最后,将解压缩的数据复制到给定cv::Mat
的内部缓冲区中。因此,在cv::IMREAD_GRAYSCALE
中没有调用opencv中的函数cv::cvtColor
来进行颜色转换。
解决方案
为保持一致,以后不要再指定imread的第二个参数为0来获得灰度图了