我的图片中有一个对象的轮廓出现问题。OpenCV:如何获得黑白对象的轮廓?
为了删除所有的噪音,我使用adjustROI()
和Canny()
。
我也试过erode()
和dillate()
,Laplacian()
,GaussianBlur()
,Sobel()
...我甚至发现此代码段锐化图片:
GaussianBlur(src, dst_gaussian, Size(0, 0), 3);
addWeighted(src, 1.5, dst_gaussian, -0.5, 0, dst);
但我的结果总是相同的:我的目标是填充与黑白的颜色(如电视屏幕上的噪音),以便不可能获得轮廓与findContours()
(findContours()
找到一百万轮廓,但不是整个对象的一个,我检查这与drawContours()
)。
我使用C++和我加载我的图片作为灰度垫(对于Canny它必须是灰度)。我的物体在每张照片上都有不同的形状,但总是在照片的中间。
我或者需要找到一种方法来通过图像处理获得更好的有色物体 - 但我不知道还有什么要尝试的 - 或者是如何在图像处理之后用颜色填充物体(没有轮廓,因为这是我最终想要的)。
欢迎任何想法。先谢谢你。
如果您不提供示例,将很难回答。我从你以前的文章中了解到,由于你没有“拥有”它们,因此你不能放置这些照片。请,你能生成类似的图像吗? – 2012-08-07 16:21:33