试图在二进制图像上运行findContour”
Mat conv(image.size(), CV_8U);
image.convertTo(conv, CV_8U);
vector<vector<cv::Point> > contours;
findContours(conv, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
thorws错误:
OpenCV Error: Unsupported format or combination of formats ([Start]FindContours support only 8uC1 images) in cvStartFindContours,
有什么想法吗?谢啦
从文件中:
C:void Mat::convertTo(输出数组m,int-rtype,双alpha=1,双beta=0)常数
参数:
rtype–所需的输出矩阵类型,或者更确切地说,深度,因为通道数与输入相同;如果rtype为负,则输出矩阵的类型将与输入矩阵的类型相同。
您可以看到,convertTo
不会改变通道的数量,这意味着您很可能得到3个通道(r、g和b)。但是,findContours
需要单色图像。
您需要将图像转换为黑白:
cv::Mat bwImage;
cv::cvtColor(image, bwImage, CV_RGB2GRAY);
vector< vector<cv::Point> > contours;
cv::findContours(bwImage, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
我尝试使用图像处理技术,如直方图反投影和形态学滤波,但每当我试图在处理后的图像上找到轮廓时,它总是给我一个错误: 我试图找到多种方法将我处理过的图像转换成8uC1或32sC1,但都失败了。有人能告诉我如何将图像转换为8uC1或32sC1类型,以便在图像中找到轮廓吗? 代码:
我在火灾探测方面有问题我的代码是: 当我运行这个程序时,看到这个错误 请帮帮我。tnx
我试图对我的图像进行预处理,以便最终从预处理后的图像中找到轮廓。 它给了我一个错误说明:OpenCV错误:cvStartFindContours中不支持的格式或格式组合([Start]FindContours在模式下仅支持CV_8UC1图像!=CV_RETR_FLOODFILL,否则仅支持CV_32SC1图像) 我用的是opencv3.0
我已经将我的图像文件转换为灰度,然后对其进行模糊处理并使用canny,结果是uint8,但我仍然得到了错误。请帮忙!
几天前,我能够在硒中进行测试。我今天尝试运行我的代码,并收到以下错误消息: 谷歌浏览器将短暂打开并立即关闭,而无需运行实际测试。我卸载并重新安装了谷歌浏览器,并收到同样的问题。我目前正在使用Mac并使用Java运行自动化测试。 可以帮我通过这个考试吗?这样我就可以继续工作了。
问题内容: 我正在尝试运行一个简单的应用程序。我有一个Express后端,在访问时会返回JSON字符串。当我运行服务器并通过AngularService向该链接发出请求时,出现以下错误: XMLHttpRequest无法加载localhost:4201/ticker。跨源请求仅支持以下协议方案:http,数据,chrome,chrome扩展名,https。 ,该模块与我的Express服务器一起使