Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/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错误:通道数不正确(源图像必须有1、3或4个通道)_Opencv_Image Processing - Fatal编程技术网

OpenCV错误:通道数不正确(源图像必须有1、3或4个通道)

OpenCV错误:通道数不正确(源图像必须有1、3或4个通道),opencv,image-processing,Opencv,Image Processing,我正在使用opencv查找轮廓,并在图像帧上显示每个轮廓,我已经看到了使用将轮廓转换为矩形的示例 `boundingRect( Mat(contours_poly[i]) );` 因此,我认为可以使用cv::imshow(“parking2”,Mat(等高线[I]) cv::findContours(img_resized,contours,CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE); cout<<"contour size "<<co

我正在使用opencv查找轮廓,并在图像帧上显示每个轮廓,我已经看到了使用将轮廓转换为矩形的示例

`boundingRect( Mat(contours_poly[i]) );`
因此,我认为可以使用cv::imshow(“parking2”,Mat(等高线[I])

cv::findContours(img_resized,contours,CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE);
cout<<"contour size   "<<contours.size()<<endl;
for(int i = 0;i <contours.size();i++){
  cv::imshow("parking2", Mat(contours[i]));
}
cv::findContours(调整了img\u大小、轮廓、cv\u RETR\u列表、cv\u CHAIN\u近似值\u SIMPLE);

cout很抱歉前几天懒惰/不清楚,但即使你把轮廓点列表放在垫子上,也不会让它成为图像。可能是:

Rect br = boundingRect( contours_poly[i] ); // the rect containing all points of the contour

Mat cropped(img_resized, br);               // the cropped part of the original image 

imshow( "parking2", cropped );              // show cropped part only
此外,如果在循环中使用相同的windowname重复调用imshow,则只会看到最后一个图像,因为一个调用将覆盖另一个调用