如何打印cvMat
是RGB
,BGR
还是GRAY
?我需要这样做的原因是因为我需要将图片转换为GRAY
并在尝试CV_RGB2GRAY
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor
答案 0 :(得分:5)
您需要知道输入图像的通道数。 cvtColor希望它有3个或4个通道。使用渠道()来确定您拥有的内容。以下信息直接取自以下答案:Can I determine the number of channels in cv::Mat Opencv
cv::Mat img(1,1,CV_8U,cvScalar(0));
std::cout<<img.channels();
输出:
1
这是频道数。
图像为空时也会发生此错误。您可以使用以下方式检查:
img.empty();