六、形态学图像处理
1.基于scikit-image形态学模块的形态学图像处理
1.1对二值图像的操作
(1)腐蚀
缩小前景对象的大小,平滑对象边界,并删除图形和小的对象。使用binarty_erosion()函数计算二值图像的快速形态腐蚀。
(2)膨胀
拓展前景对象的大小,平滑对象边界,并闭合二值图像中的孔和缝隙,使用binary_dilation()函数
(3)开运算和闭运算(对偶运算)
开运算为先腐蚀后膨胀的组合,从二值图像中删除小对象。binary_opening()
闭运算为先膨胀后腐蚀的组合,从二值图像中删除小洞。binary_closing()
(4)骨架化
将二值图像中的每个连接组件简化为单个像素宽的骨架。skeletonize()
(5)凸包计算
由输入图像中包围所有前景的最小凸多边形定义。convex_hull_image()
(6)删除小对象
删除小于指定最小阈值的对象—指定的阈值越大,删除的对象越多。remove_samll_object()
(7)白顶帽计算与黑顶帽计算
白顶帽计算比结构更小亮点,定义为原始图像与其形态学开运算的差值图像。white_tophat()
黑顶帽计算比结构更小黑点,定义为原始图像与其形态学闭运算的差值图像。black_tophat()
(8)提取边界
腐蚀运算可以用于提取二值图像的边界,只需要从输入的二值图像中减去腐蚀图像即可实现
2.基于scikit-image filter.rank形态学模块的形态学图像处理
2.1形态学对比度增强
通过只考虑由结构元素定义的领域中的像素对每个像素进行操作,它用领域内的局部最小或最大像素替换中心像素,取决于原始图像最接近哪个图像。
2.2计算局部熵
熵是图像中不确定性或随机性的度量。skimage.rank.entropy()计算局部熵
3.基于scipy.ndimage.morpholopy形态学模块的形态学图像处理
(1)binary_fill_holes()函数填补二值对象中的孔洞
(2)计算形态学Beucher梯度
可定义为输入灰度图像的膨胀运算与腐蚀运算的差值图像