Python 自适应阈值化(变形除外)后如何清理边界

Python 自适应阈值化(变形除外)后如何清理边界,python,c++,opencv,computer-vision,opencv3.0,Python,C++,Opencv,Computer Vision,Opencv3.0,我正在对图像执行自适应阈值处理,以查找对象的边界。但是,在对象的某些点上,自适应阈值有间隙并溢出到其他对象中(由于对象边界上罕见点的颜色相似性)。这些间隙太大,无法使用形态闭合(先扩张后侵蚀)来填充 考虑到它们不经常出现,并且相对于整个形状的周长相对较小,是否有方法检测并移除它们 我发现,仅仅增加迭代次数/窗口大小来关闭,就会把事情搞得一团糟,毫无用处 我想在一个好的自适应阈值之后执行houghline变换,但是自适应阈值溢出感兴趣对象的边界,会在二值图像中添加更多潜在的线检测 我想,如果在自适

我正在对图像执行自适应阈值处理,以查找对象的边界。但是,在对象的某些点上,自适应阈值有间隙并溢出到其他对象中(由于对象边界上罕见点的颜色相似性)。这些间隙太大,无法使用形态闭合(先扩张后侵蚀)来填充

考虑到它们不经常出现,并且相对于整个形状的周长相对较小,是否有方法检测并移除它们

我发现,仅仅增加迭代次数/窗口大小来关闭,就会把事情搞得一团糟,毫无用处

我想在一个好的自适应阈值之后执行houghline变换,但是自适应阈值溢出感兴趣对象的边界,会在二值图像中添加更多潜在的线检测

我想,如果在自适应阈值边界中检测到足够小的中断,可能会在这些图像中检测到的线上运行内核并添加白色像素?有人试过这样的东西吗

谢谢

变形关闭前阈值中的间隙示例

变形关闭后阈值中的间隙示例

尝试按大小过滤斑点/轮廓。设置一个区域阈值,低于该区域的所有内容(在本例中是嘈杂的斑点)都将被过滤。看看这个答案:如果你有或多或少的直线,看看OpenCV。@eldesgraciado这是一个很酷的技巧,谢谢!但不幸的是,这也会移除第一张图像中显示的更多对象边界,使得修复整个对象变得更加困难boundary@HansHirse我确实打算在找到一个好的闭合对象边界后进行hough变换,但是如果边界不闭合,它会溢出到图像的其余部分,并添加许多潜在的hough线检测。@mosfeta会在形态学操作后执行区域过滤。例如,请在关闭操作后重试。