Python 快速获取给定连接组件的所有点
Scikit Image有很多方法可用于斑点检测: 高斯拉普拉斯(对数) 高斯差分(DoG) 黑森行列式(DoH) 这三个函数都返回一个数组,该数组在找到的组件的边界内包含一个点: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.
>>> 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检测器返回一个质心和一个半径(或一些相关的量),因此您可以轻松地迭代中心并计算其中包含的所有坐标(每个质心一个矢量化操作)。如果你有一个合理数量的质心,它应该不会太慢!我没有从文档中意识到第三类是半径,我只是假设它是一些置信量(现在我把它打印出来听起来很傻)。谢谢