用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。