当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python skimage.transform.hough_circle_peaks用法及代码示例

用法:

skimage.transform.hough_circle_peaks(hspaces, radii, min_xdistance=1, min_ydistance=1, threshold=None, num_peaks=inf, total_num_peaks=inf, normalize=False)

返回圆形 Hough 变换中的峰值。

识别给定霍夫空间中由特定距离分隔的最突出的圆圈。在霍夫空间的第一维和第二维中分别应用不同大小的非极大值抑制来识别峰值。对于半径不同但距离较近的圆,只保留最高峰值的圆。

参数

hspaces(N, M) 数组

hough_circle 函数返回的霍夫空间。

radii(M,) 数组

对应于霍夫空间的半径。

min_xdistanceint 可选

在 x 维度上分隔中心的最小距离。

min_ydistanceint 可选

在 y 维度上分隔中心的最小距离。

threshold浮点数,可选

每个霍夫空间中峰的最小强度。默认值为 0.5 * max(hspace)。

num_peaksint 可选

每个霍夫空间中的最大峰值数。当峰的数量超过num_peaks时,仅考虑基于峰强度的num_peaks坐标用于相应的半径。

total_num_peaksint 可选

最大峰值数。当峰值数量超过num_peaks时,根据峰值强度返回num_peaks坐标。

normalize布尔型,可选

如果为真,则按半径对累加器进行归一化以对突出的峰值进行排序。

返回

accum, cx, cy, rad数组的元组

霍夫空间中的峰值、x 和 y 中心坐标和半径。

注意

半径较大的圆在霍夫空间中具有较高的峰值。如果较大的圆圈比较小的圆圈更受欢迎,则 normalize 应为 False。否则,将按投票数递减的顺序返回圆圈。

例子

>>> from skimage import transform, draw
>>> img = np.zeros((120, 100), dtype=int)
>>> radius, x_0, y_0 = (20, 99, 50)
>>> y, x = draw.circle_perimeter(y_0, x_0, radius)
>>> img[x, y] = 1
>>> hspaces = transform.hough_circle(img, radius)
>>> accum, cx, cy, rad = hough_circle_peaks(hspaces, [radius,])

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.transform.hough_circle_peaks。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。