我在获取图片中对象的轮廓时遇到问题。
为了删除所有噪音,我使用adjustROI()
and Canny()
。
我也试过erode()
and 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++,并将图片加载为灰度 Mat(对于 Canny,它必须是灰度的)。我的对象在每张图片上都有不同的形状,但它总是在图片的中间。
我要么需要找到一种方法来通过图像处理获得更好的彩色对象 - 但我不知道还能尝试什么 - 或者在图像处理后如何用颜色填充对象(没有它的轮廓,因为这是我到底想要什么)。
欢迎任何想法。先感谢您。