OpenCV - 仅保留 python 中标记的斑点
OpenCV - Retaining only marked blobs in python
我有一个形态学问题,我正在尝试使用 OpenCV 解决。我有两张图片。
- 面具
- 种子
在蒙版图像中,我试图仅保留种子图像标记的斑点并移除其余部分。
下面我贴的是蒙版和种子图
蒙版图片:
种子图片:
为了进一步说明问题,我放大了图像并创建了一个子图。
在这个例子中,你右边的图是种子图像,你左边的图是蒙版图像。在操作结束时,我希望在左侧有象鼻形状的斑点作为结果,因为它由种子坐标(左)标记。
按位操作只会给我种子和掩码之间的重叠区域(结果是相同的方形斑点)。
一种可能的解决方案是通过重建使用打开,但是 OpenCV 没有它的实现。
OpenCV - Is there an implementation of marker based reconstruction in opencv
不胜感激!
好的,谢谢大家花时间查看此 post。我无法在 OpenCV 中找到针对此特定问题的解决方案。因此我求助于使用 PYMORPH 库。
https://pythonhosted.org/pymorph/
函数 Inf-reconstruction 完全符合我的要求。
pymorph.infrec(f, g, Bc={3x3 交叉})
infrec 通过以 g 为条件的 Bc 对 f 进行无限次的递归迭代(迭代直到稳定)来创建图像 y。我们说 y 是来自标记 f 的 g 的 inf-reconstruction。算法和应用见Vinc:93b.
参数:
f:标记图像(灰色或二进制)。
g :调节图像(灰色或二进制)。
Bc :连通性结构元素(默认值:3x3 交叉)。
Returns :
y : 图片
希望这能帮助其他人克服类似的障碍。
谢谢
我有一个形态学问题,我正在尝试使用 OpenCV 解决。我有两张图片。
- 面具
- 种子
在蒙版图像中,我试图仅保留种子图像标记的斑点并移除其余部分。
下面我贴的是蒙版和种子图
蒙版图片:
种子图片:
为了进一步说明问题,我放大了图像并创建了一个子图。
在这个例子中,你右边的图是种子图像,你左边的图是蒙版图像。在操作结束时,我希望在左侧有象鼻形状的斑点作为结果,因为它由种子坐标(左)标记。
按位操作只会给我种子和掩码之间的重叠区域(结果是相同的方形斑点)。 一种可能的解决方案是通过重建使用打开,但是 OpenCV 没有它的实现。
OpenCV - Is there an implementation of marker based reconstruction in opencv
不胜感激!
好的,谢谢大家花时间查看此 post。我无法在 OpenCV 中找到针对此特定问题的解决方案。因此我求助于使用 PYMORPH 库。
https://pythonhosted.org/pymorph/
函数 Inf-reconstruction 完全符合我的要求。
pymorph.infrec(f, g, Bc={3x3 交叉})
infrec 通过以 g 为条件的 Bc 对 f 进行无限次的递归迭代(迭代直到稳定)来创建图像 y。我们说 y 是来自标记 f 的 g 的 inf-reconstruction。算法和应用见Vinc:93b.
参数:
f:标记图像(灰色或二进制)。
g :调节图像(灰色或二进制)。
Bc :连通性结构元素(默认值:3x3 交叉)。
Returns :
y : 图片
希望这能帮助其他人克服类似的障碍。
谢谢