形态学通常表示生物学的一个分支,研究动植物的形态和结构。图像中的形态学是数学形态学。简单来讲就是基于形状的一系列图像处理操作。
基本运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度。
膨胀与腐蚀
功能:
- 消除噪声;
- 分割出独立的图像元素,在图像中链接相邻的元素;
- 寻找图像中明显的极大值和极小值区域;
- 求图像的梯度;
膨胀
求局部最大值的操作。将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。
核可以是任何形状,有一个单独定义的参考点,锚点。
膨胀就是计算核覆盖的区域的像素点的极大值,把这个极大值赋值给参考点指定的像素,使图像的高亮区域逐渐增长。
函数:void dilate
腐蚀
消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。
与膨胀相反,求局部最小值的操作。
函数:void erode
开运算、闭运算、形态学梯度、顶帽、黑帽
形态学的高级形态,都是建立在腐蚀和膨胀这两个基本操作之上的。
开运算
先腐蚀后膨胀,具有消除亮度较高的细小区域,在纤细点分离物体,对于较大物体,可以在不明显改变其面积的情况下平滑其边界等作用。
闭运算
先膨胀后腐蚀,它具有填充白色物体内细小黑色区域、连接临近物体的作用,也可以在不明显改变其面积的情况下平滑边界。
形态学梯度
膨胀图和腐蚀图之差,对二值图像操作能将团块的边缘突出出来。
顶帽
原图像与开运算的结果图之差,由于开运算放大了裂缝或者局部低亮度的区域,因此原图中减去开运算后的图,得到的效果图突出了比原图轮廓周围的区域更明亮的区域。
用来分离比邻近点亮一些的斑块。
黑帽
闭运算的结果图与源图像之差。
黑帽运算后的效果图突出了比原图轮廓周围的区域更暗的区域。所以黑帽用来分离比邻近点暗一点的斑块。
漫水填充
用特定的颜色填充连通区域,通过设置可连通像素的上下限和连通方式,达到不同的填充效果。水漫填充操作的结果总是某个连续的区域。
常用来标记或分离图像的一部分,以便对其进行进一步的处理或分析,也能用来获得掩码区域。
图像金字塔和图像尺寸缩放
图像金字塔
是图像多尺度表达的一种,最主要用于图像分割,以多分辨率来解释图像的有效但概念简单的结构。金字塔底部是待处理图像的高分辨率表示,顶部是低分辨率的近似。
一般两种类型的金字塔:
- 高斯金字塔——用来向下采样(图像变小);
- 拉普拉斯金字塔——用来从底层图像重建上层未采样图像(上采样,图像变大);
下采样:高斯核对图像进行卷积,然后将所有的偶数行偶数列都去除,得到的结果图像就是源图像的1/4。
上采样:将图像每个方向扩大到原来的两倍,新增的行和列用0填充,然后使用核对放大后的图像进行卷积,得到新增像素的近似值。
尺寸缩放(插值算法)
- 最近邻
- 线性插值
- 区域插值:利用像素区域关系的重采样插值
- 双三次
- lanczos插值
缩小图像使用双线性插值,放大用双立方
阈值化
最简单的图像分割方法,从图像中提取出需要的部分。阈值的取舍依赖于具体的问题。
固定阈值threshold
对灰度图进行阈值操作得到二值图像,去噪声、过滤掉很小的或很大像素值的像素点。
自适应阈值adaptiveThreshold