Mat src = imread("D:/study/opencv/t1/img/cv1.png",IMREAD_GRAYSCALE);
if (src.empty())
{
std::cout << "文件不存在!";
return -1;
}
namedWindow("loadimg");
imshow("loadimg",src);
namedWindow("output");
Mat outputimg;
cvtColor(src, outputimg, COLOR_RGB2HLS);
imshow("output", outputimg);
报错

控制台打印

原因:由于Mat src = imread("D:/study/opencv/t1/img/cv1.png",IMREAD_GRAYSCALE);转成的灰度图,为单通道,不能再使用
cvtColor(src, outputimg, COLOR_RGB2HLS);,COLOR_RGB2HLS去转换成多通道了。
本文探讨了在使用OpenCV进行图像处理时,从灰度图转换到HLS色彩空间遇到的问题。详细分析了Matsrc=imread读取灰度图像后,无法直接使用cvtColor进行多通道色彩空间转换的原因,并提供了相应的解决思路。
1823

被折叠的 条评论
为什么被折叠?



