【问题标题】:OpenCV - Retaining only marked blobs in pythonOpenCV - 在python中只保留标记的blob
【发布时间】:2017-06-28 07:51:23
【问题描述】:

我尝试使用 OpenCV 解决一个形态学问题。我有两张图片。

  1. 面具
  2. 种子

在掩码图像中,我试图仅保留由种子图像标记的斑点并删除其余部分。

我在下面发布掩码和种子图像

蒙版图片:

种子图片:

为了进一步说明问题,我放大了图像并创建了一个子图。

在这个例子中,你右边的图是种子图像,你左边的图是掩码图像。在操作结束时,我希望左边有象鼻状的斑点作为结果,因为它由种子坐标(左)标记。

按位操作只会给我种子和掩码之间的重叠区域(结果是相同的方形斑点)。 一种可能的解决方案是使用重构打开,但是 OpenCV 没有它的实现。

OpenCV - Is there an implementation of marker based reconstruction in opencv

任何指针表示赞赏!

【问题讨论】:

    标签: python opencv image-processing bitwise-operators mathematical-morphology


    【解决方案1】:

    好的,感谢所有花时间查看此帖子的人。我无法在 OpenCV 中找到这个特定问题的解决方案。因此我求助于使用 PYMORPH 库。

    https://pythonhosted.org/pymorph/

    函数 Inf-reconstruction 正是我想要的。

    pymorph.infrec(f, g, Bc={3x3 cross})

    infrec 通过以 g 为条件的 Bc 对 f 的膨胀进行无限次数的递归迭代(迭代直到稳定)来创建图像 y。我们说 y 是从标记 f 对 g 的 inf 重构。有关算法和应用,请参阅 Vinc:93b。

    参数:
    f :标记图像(灰色或二进制)。 g:调节图像(灰色或二进制)。 Bc:连接结构元素(默认值:3x3 交叉)。 退货:
    y : 图片

    希望这可以帮助其他人克服类似的障碍。

    谢谢

    【讨论】:

      猜你喜欢
      • 2010-09-27
      • 2019-04-11
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多