當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。