Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 如何确定输入图像通道的数量?_Opencv - Fatal编程技术网

Opencv 如何确定输入图像通道的数量?

Opencv 如何确定输入图像通道的数量?,opencv,Opencv,要读取图像文件,我必须使用 Mat img = imread(file,CV_LOAD_IMAGE_COLOR); 或 这意味着我必须提前知道文件中包含的是彩色图像还是单色图像。有没有办法提前知道通道数,以便我可以根据通道数应用读取的图像?根据,您应该使用先生B,谢谢您的回答。它起作用了。我发现一些黑白图像返回3,img.channel()。这种图像可能有缺陷,不能正确地从彩色转换为单声道。 Mat img = imread(file,CV_LOAD_IMAGE_GRAYSCALE); CV

要读取图像文件,我必须使用

Mat img = imread(file,CV_LOAD_IMAGE_COLOR);


这意味着我必须提前知道文件中包含的是彩色图像还是单色图像。有没有办法提前知道通道数,以便我可以根据通道数应用读取的图像?

根据,您应该使用
先生B,谢谢您的回答。它起作用了。我发现一些黑白图像返回3,img.channel()。这种图像可能有缺陷,不能正确地从彩色转换为单声道。
Mat img = imread(file,CV_LOAD_IMAGE_GRAYSCALE);
CV_LOAD_IMAGE_UNCHANGED  =-1,
Mat img = imread(file, CV_LOAD_IMAGE_UNCHANGED);