也许这很基础,但是是否可以知道一个cv::Mat
有多少个通道呢?例如,我们加载了一张RGB图像,我知道有3个通道。我执行以下操作,只是为了得到图像的拉普拉斯变换,这是直接从Opencv文档中获取的。
int main(int argc, char **argv)
{
Mat src = imread(argv[1],1),src_gray,dst_gray,abs_dst_gray;
cvtColor(src,src_gray,COLOR_BGR2GRAY);
GaussianBlur( src, src, Size(3,3), 0, 0, BORDER_DEFAULT );
Laplacian(src_gray,dst_gray,ddepth,kernel_size,scale,delta,BORDER_DEFAULT);
convertScaleAbs(dst_gray,abs_dst_gray);
}
将图像转换为灰度后,我们应该只有一个通道。但是我如何确定程序中 abs_dst_gray
的通道数?是否有相应的函数可以实现?还是需要程序员自己编写其他方法来实现?请在这里帮助我。
提前感谢您的帮助。