一,基本的转换
基本的形态转换是膨胀与腐蚀,它们能实现多种功能:例如消除噪声、分割出独立的图像元素以及在图像中连接相邻的元素。形态学也常被用于寻找图像中的明显的极大值区域或极小值区域以及求出图像的梯度。
二、膨胀和腐蚀
膨胀是指将一些图像与核进行卷积,膨胀是求局部最大值的操作,核B与图像卷积,即计算核B覆盖的区域的像素点最大值,并把这个最大值赋值给参考点指定的像素。这样会使图像中的高亮区域逐渐增长。
腐蚀是膨胀的反操作。腐蚀计算核区域像素的最小值。腐蚀能消除细小的凸起。
腐蚀操作通常是用来消除图像中“斑点”噪声。腐蚀可以将斑点腐蚀掉,且能确保图像内的较大区域依然存在。腐蚀的结果:亮的区域被隔离并且缩小
但在视图找到联通分支(即具有相似颜色或强度的像素点的大块的互相分离的区域)时通常使用膨胀操作。膨胀的结果:亮的区域得到了扩展和连接
三、更通用的形态学
void cvMorphologyEx(
const CvArr* src,
CvArr* dst,
CvArr* temp,
IplConvKernel* elment,
int operation,
int iterations = 1
);
cvMorphologyEx()操作选项有:
CV_MOP_OPEN 开运算 先腐蚀后膨胀 用来统计二值图像中的区域数
CV_MOP_CLOSE 闭运算 先膨胀后腐蚀 在大多好的连通区域分析算法中,都会用到闭运算来去除噪声引起的区域,对于连通区域分析,通常先采用腐蚀或闭运算来消除纯粹由噪声引起的部分,然后用开运算来连接临近的区域
开运算是消除消除高于其邻近点的孤立点,闭运算是消除低于其邻近点的孤立点
CV_MOP_GRADIENT 形态梯度 对二值图像进行这一操作,可以将团块的边缘突出出来。形态梯度应用与灰度图(在灰度变化最剧烈的区域得到的结果数值最大),想突出高亮区域的外围时,通常可以用形态学梯度。