gpt4 book ai didi

algorithm - 在图像中定位桥状结构的端点

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:37 24 4
gpt4 key购买 nike

如何在图像中定位桥状结构的端点?

下面是一般表示。

Enter image description here

我有一组图像,看起来像您在左栏中看到的图像,如上图所示。我试图检测/定位的实际上是上图中右侧栏中显示的两个端点。这就像定位“桥梁”的“两端点”。

我应用了一些基本的形态学操作;但是,要么我做错了,要么那些基本的形态学操作在这种情况下不起作用。 (我试过把它做成骨架,但是,一旦骨架形成,我似乎无法检测到三棱十字)。

编辑

感谢之前的建议;然而,看起来原始图像集不能像我之前绘制的那样完全概括。

我附上了这个问题的最新更新。下面是一个更详细的表示,其中包括原始分割区域和经过“细化”形态学操作的相应图像。同样,左侧是最初分割的区域;而右边是要检测的点。

Enter image description here

最佳答案

使用 Python 的解决方案,NumPy , PymorphMahotas :

import pymorph as m
import mahotas
from numpy import where, reshape

image = mahotas.imread('input.png') # Load image

b1 = image[:,:,0] < 100 # Make a binary image from the thresholded red channel
b2 = m.erode(b1, m.sedisk(4)) # Erode to enhance contrast of the bridge
b3 = m.open(b2,m.sedisk(4)) # Remove the bridge
b4 = b2-b3 # Bridge plus small noise
b5 = m.areaopen(b4,1000) # Remove small areas leaving only a thinned bridge
b6 = m.dilate(b3)*b5 # Extend the non-bridge area slightly and get intersection with the bridge.

#b6 is image of end of bridge, now find single points
b7 = m.thin(b6, m.endpoints('homotopic')) # Narrow regions to single points.
labelled = m.label(b7) # Label endpoints.

x1, y1 = reshape(where(labelled == 1),(1,2))[0]
x2, y2 = reshape(where(labelled == 2),(1,2))[0]

outputimage = m.overlay(b1, m.dilate(b7,m.sedisk(5)))
mahotas.imsave('output.png', outputimage)

Output

关于algorithm - 在图像中定位桥状结构的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6173424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com