如何打印cvMat
是RGB
、BGR
还是GRAY
?我需要这样做的原因是,我需要将图像转换为GRAY
,并且在尝试CV_RGB2GRAY
时遇到了这样的错误
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor
您需要知道输入图像的通道数。cvtColor预计它将有3或4个通道。使用channels()来确定您拥有的内容。以下信息直接取自中的答案:我可以确定cv中的通道数量吗:Mat Opencv
cv::Mat img(1,1,CV_8U,cvScalar(0));
std::cout<<img.channels();
输出:
1
这是通道的数量。
图像为空时也会出现此错误。您可以使用进行检查
img.empty();
来源:openCV错误:断言失败(scn==3|scn==4)