用法:
skimage.morphology.medial_axis(image, mask=None, return_distance=False, *, random_state=None)
計算二值圖像的中軸變換。
- image:二進製ndarray,形狀(M,N)
要骨架化的形狀的圖像。
- mask:二進製ndarray,形狀(M,N),可選
如果給定掩碼,則隻有圖像中掩碼為真值的元素用於計算中軸。
- return_distance:布爾型,可選
如果為真,則返回距離變換以及骨架。
- random_state:{無,int
numpy.random.Generator
如果random_state是沒有的
numpy.random.Generator
使用單例。如果random_state是一個int 一個新的Generator
使用實例,播種random_state.如果random_state已經是一個Generator
實例然後使用該實例。
- out:布爾數組
圖像的中軸變換
- dist:整數的ndarray,可選
圖像的距離變換(僅在 return_distance 為 True 時返回)
參數:
返回:
注意:
該算法將圖像的中軸變換計算為其距離變換的脊。
- 算法的不同步驟如下
- 使用查找表,將 0 或 1 分配給 3x3 二進製正方形的每個配置,無論中心像素應該被刪除還是保留。如果一個點有多個鄰居並且刪除它不會改變連接組件的數量,我們希望它被刪除。
- 計算到背景的距離變換,以及像素的角點。
- 前景(值為 1)點按距離變換排序,然後是角點。
- 調用 cython 函數以將圖像縮小為其骨架。它按照上一步確定的順序處理像素,並根據查找表刪除或維護一個像素。由於排序,可以僅在一次通過中處理所有像素。
例子:
>>> square = np.zeros((7, 7), dtype=np.uint8) >>> square[1:-1, 2:-2] = 1 >>> square array([[0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0]], dtype=uint8) >>> medial_axis(square).astype(np.uint8) array([[0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 1, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 1, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0]], dtype=uint8)
相關用法
- Python skimage.morphology.max_tree_local_maxima用法及代碼示例
- Python skimage.morphology.max_tree用法及代碼示例
- Python skimage.morphology.h_minima用法及代碼示例
- Python skimage.morphology.dilation用法及代碼示例
- Python skimage.morphology.remove_small_holes用法及代碼示例
- Python skimage.morphology.flood_fill用法及代碼示例
- Python skimage.morphology.black_tophat用法及代碼示例
- Python skimage.morphology.h_maxima用法及代碼示例
- Python skimage.morphology.local_maxima用法及代碼示例
- Python skimage.morphology.area_closing用法及代碼示例
- Python skimage.morphology.label用法及代碼示例
- Python skimage.morphology.thin用法及代碼示例
- Python skimage.morphology.flood用法及代碼示例
- Python skimage.morphology.diameter_closing用法及代碼示例
- Python skimage.morphology.remove_small_objects用法及代碼示例
- Python skimage.morphology.reconstruction用法及代碼示例
- Python skimage.morphology.erosion用法及代碼示例
- Python skimage.morphology.diameter_opening用法及代碼示例
- Python skimage.morphology.local_minima用法及代碼示例
- Python skimage.morphology.skeletonize用法及代碼示例
注:本文由純淨天空篩選整理自scikit-image.org大神的英文原創作品 skimage.morphology.medial_axis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。