Python 快速获取给定连接组件的所有点

Python 快速获取给定连接组件的所有点,python,blob,scikit-image,connected-components,Python,Blob,Scikit Image,Connected Components,Scikit Image有很多方法可用于斑点检测: 高斯拉普拉斯(对数) 高斯差分(DoG) 黑森行列式(DoH) 这三个函数都返回一个数组,该数组在找到的组件的边界内包含一个点: >>> from skimage import data, feature >>> img = data.coins() >>> feature.blob_doh(img) array([[ 121. , 271. , 30.

Scikit Image有很多方法可用于斑点检测:

高斯拉普拉斯(对数)

高斯差分(DoG)

黑森行列式(DoH)

这三个函数都返回一个数组,该数组在找到的组件的边界内包含一个点:

>>> from skimage import data, feature
>>> img = data.coins()
>>> feature.blob_doh(img)
array([[ 121.        ,  271.        ,   30.        ],
       [ 123.        ,   44.        ,   23.55555556],
       [ 123.        ,  205.        ,   20.33333333],
       [ 124.        ,  336.        ,   20.33333333],
       [ 126.        ,  101.        ,   20.33333333],
       [ 126.        ,  153.        ,   20.33333333],
       [ 156.        ,  302.        ,   30.        ],
       [ 185.        ,  348.        ,   30.        ],
       [ 192.        ,  212.        ,   23.55555556],
       [ 193.        ,  275.        ,   23.55555556],
       [ 195.        ,  100.        ,   23.55555556],
       [ 197.        ,   44.        ,   20.33333333],
       [ 197.        ,  153.        ,   20.33333333],
       [ 260.        ,  173.        ,   30.        ],
       [ 262.        ,  243.        ,   23.55555556],
       [ 265.        ,  113.        ,   23.55555556],
       [ 270.        ,  363.        ,   30.        ]])
我想使用这些信息生成包含给定组件中所有点坐标的列表


我可以自己从种子开始遍历整个图像,然后收集dict中的所有点,关键点是blob检测提供的点,但是我想如果我不使用cython,它会很慢(我非常愿意在这方面出错,因为我对python还相当陌生)。更真实地说,我只是认为可能有一种比自己做更好的方法。

水滴探测器返回一个质心和一个半径(或一些相关数量),因此您可以轻松地迭代中心并计算其中包含的所有坐标(每个质心一个矢量化操作)。如果你有一个合理数量的质心,它应该不会太慢!我没有从文档中意识到第三类是半径,我只是假设它是一些置信量(现在我把它打印出来听起来很傻)。感谢blob检测器返回一个质心和一个半径(或一些相关的量),因此您可以轻松地迭代中心并计算其中包含的所有坐标(每个质心一个矢量化操作)。如果你有一个合理数量的质心,它应该不会太慢!我没有从文档中意识到第三类是半径,我只是假设它是一些置信量(现在我把它打印出来听起来很傻)。谢谢