用法:
skimage.morphology.thin(image, max_num_iter=None)
执行二值图像的形态细化。
- image:二进制(M,N)ndarray
要细化的图像。
- max_num_iter:int 迭代次数,可选
无论此参数的值如何,如果迭代没有产生变化,则立即返回细化的图像。如果指定了此参数,则它会设置执行迭代次数的上限。
- out:布尔数组
变薄的图像。
- max_iter:DEPRECATED
已弃用以支持max_num_iter。
参数:
返回:
其他参数:
注意:
该算法 [1] 的工作原理是在图像上进行多次传递,删除与一组旨在细化连接区域的标准相匹配的像素,同时保留 eight-connected 组件和 2 x 2 正方形 [2] 。在两个sub-iterations 中的每一个中,该算法将中间骨架图像与邻域掩码相关联,然后在查找表中查找每个邻域,指示是否应删除该sub-iteration 中的中心像素。
参考:
- 1
Z. Guo and R. W. Hall, “Parallel thinning with two-subiteration algorithms,” Comm. ACM, vol. 32, no. 3, pp. 359-373, 1989. DOI:10.1145/62065.62074
- 2
Lam, L., Seong-Whan Lee, and Ching Y. Suen, “Thinning Methodologies-A Comprehensive Survey,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 14, No. 9, p. 879, 1992. DOI:10.1109/34.161346
例子:
>>> square = np.zeros((7, 7), dtype=np.uint8) >>> square[1:-1, 2:-2] = 1 >>> square[0, 1] = 1 >>> square array([[0, 1, 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) >>> skel = thin(square) >>> skel.astype(np.uint8) array([[0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 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, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]], dtype=uint8)
相关用法
- 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.max_tree_local_maxima用法及代码示例
- 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.max_tree用法及代码示例
- Python skimage.morphology.local_minima用法及代码示例
- Python skimage.morphology.medial_axis用法及代码示例
- Python skimage.morphology.skeletonize用法及代码示例
注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.morphology.thin。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。