我想检查矩阵是否已转换2GRAY
。
因此,此代码应返回false
cv::Mat myImage; // (rgb)
cout << isMatGray(myImage) << endl;
此代码应返回true
cv::Mat myImage; // (rgb)
cv::cvtColor(myImage, myImage, CV_RGB2GRAY);
cout << isMatGray(myImage) << endl;
我的想法是使用.type()调用,但我并不确定如何以正确的方式使用此函数。
static bool isMatGray(cv::Mat image) {
return ( image.type() == ?? );
}
答案 0 :(得分:3)
您可以使用以下符号检查矩阵是否为灰度(即单通道)
static bool isMatGray(const cv::Mat& image) {
return (image.channels() == 1);
}