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

时间:2016-01-04 01:07:43

标签: python blob scikit-image connected-components

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

高斯拉普拉斯(LoG)

高斯差分(DoG)

Hessian(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.        ]])

我希望使用该信息来生成包含给定组件中所有点的坐标的列表。

我可以从种子开始迭代遍历整个图像,只是收集一个字典中的所有点,关键是blob检测提供的点,但我想它会相当慢,除非我使用cython(对此我更愿意做错,因为我对python来说还不错)。更真实的是,我认为可能有更好的方法,然后自己做。

0 个答案:

没有答案