我刚刚写了一个小程序,用于在阈值处理后用canny处理的彩色阈值二值图像中搜索轮廓,但总是会为图像中的每个对象找到两个轮廓。OpenCV findContours Allways为每个对象找到两个轮廓
在绘制找到轮廓的右下角图像中,您可以看到最大轮廓绘制两次,两个轮廓之间有一点偏移。下图显示了该图像的详细视图。
http://img831.imageshack.us/img831/3641/doubleframe2.png
这里只是最大的轮廓绘制两次,但它随机发生的轮廓每隔一个。 我只想为每个物体绘制一个轮廓,我如何实现这个目标? :/
更新:
其由findContours方法填充的轮廓矢量的大小的大小为8,其中它应该有一个尺寸正好4.
更新2:
下面是从超高动力学 http://img405.imageshack.us/img405/9761/inputimage.jpg 的颜色的阈值的RGB输入图像I中使用的以下方针
cv::cvtColor(in, out, CV_BGR2HSV);
cv::inRange(out,
cv::Scalar(25, 131, 97),
cv::Scalar(35, 220, 217),
out);
随后侵蚀+扩张与矩形元素的大小为1
请提供原始图像的链接。 – 2012-07-13 11:52:29
完成。必须删除程序的图像,因为我只能发布2个链接:/。 – 2012-07-13 12:26:41
为什么在找到轮廓之前去找Canny?为什么不直接在阈值图像上找到轮廓? – 2012-07-13 13:51:35