在python opencv中过滤掉二进制图像中的异常形状

时间:2016-07-22 01:26:33

标签: python opencv computer-vision shape

我可以用来清理以下图像的过滤器的任何想法? enter image description here

也许是多边形逼近的东西?

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。这是我做的:

  1. 从所有小的无用模式中清除图像的小开口(在您的情况下不是强制性的)
  2. 连接组件标签。
  3. 分离每个组件
  4. 对于每个组件,计算测地线直径(here is an illustrationhere a paper)。
  5. 最长直径的图案是您正在寻找的图案。
  6. 在您的情况下,如果比例始终相同,那么您可以简单地保留最大的组件。

答案 1 :(得分:0)

您可以使用旋转,缩放和平移不变的形状描述符,如Hu moment。

从一个手动过滤的图像计算所需形状的形状描述符(在上面的图像中选择最大的连接组件)

对于每个新图像,计算每个连通分量和原始Hu矩的matchShapes,并获取具有最小值(最接近的形状)的连通分量。