gpt4 book ai didi

python - 如何在给定水平和垂直距离的二值图像中找到邻居(Python)

转载 作者:行者123 更新时间:2023-11-28 22:34:35 31 4
gpt4 key购买 nike

我有一个图像(或数百个图像)需要分析。目标是找到彼此靠近的所有黑点。

例如水平距离为 160 像素,垂直距离为 40 像素的所有黑点。

Just a small part of an image

现在我只查看每个像素,如果有一个黑色像素,我会调用递归方法来找到它的邻居(如果你愿意,我也可以发布代码)

它可以工作,但是速度很慢。目前脚本运行大约 3-4 分钟,具体取决于图像大小。

有没有一些简单/快速的方法来完成这个(最好是 scikit-image 方法来帮助解决这个问题)我正在使用 Python。

编辑:我尝试使用 scikit.measure.find_contours,现在我有一个包含黑点轮廓的数组的数组。现在我只需要找到这些轮廓附近的轮廓。

最佳答案

当您获得不同黑点的坐标时,无需计算所有黑色像素对之间的所有距离,您可以使用 cKDTree(在 scipy.spatial 中,http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.cKDTree.html#scipy.spatial.cKDTree)。使用 cKDTree 的确切方法取决于您的确切标准(例如,您可以使用 cKDTree.query_ball_tree 来了解是否存在一对属于两个不同标签的点,以及您给出的最大距离)。

KDTrees 是一种基于相邻点降低问题复杂性的好方法。如果您想使用 KDTrees,您需要重新调整坐标,以便您可以使用一种经典规范来计算点之间的距离。

关于python - 如何在给定水平和垂直距离的二值图像中找到邻居(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38867092/

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