【问题标题】:Thresholding Images and noise阈值图像和噪声
【发布时间】:2012-08-01 14:33:21
【问题描述】:

我正在使用 opencv 对图像进行二进制阈值处理,例如在二进制图像上移动或动画圆形时,可移动对象周围出现的噪声很少。附上一张图片来说明我的意思。我怎样才能摆脱那些文物?

【问题讨论】:

  • OpenCV 有办法确定哪些位是连接的吗?如果是这样,也许所有非循环的连接位都可以消除?
  • 推断 user1118321 的想法,你可以找到圆的边界,然后剔除它。
  • 这是由于帧差异造成的伪影吗?你提到这是一个移动的圆圈。如果是这样,请尝试 3 帧差分。它是这样的:f = abs((frame1 - frame0) * (frame1 - frame2))
  • 是的,因为戏剧差异

标签: c++ image-processing opencv


【解决方案1】:

您可以尝试应用几个循环的腐蚀算法(直到只剩下一个对象),然后再应用相同数量的膨胀算法循环(腐蚀/膨胀对称为打开)

请看这里:http://en.wikipedia.org/wiki/Mathematical_morphology

【讨论】:

    【解决方案2】:

    如果你想去掉非圆形的物体,你可以根据几个指标过滤轮廓this似乎是一个很好的开始链接。 在您的情况下,您可以找到所有轮廓并仅保留具有高圆形度和小纵横比的轮廓。 您可以更进一步并计算诸如 area/area_of_the_convex_hull 之类的指标。这个应该是你圈子的一个。

    祝你好运

    ps:this pdf 似乎更详尽。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多