imgproc模块是图像处理模块,这个模块包含如下内容:
- 线性和非线性的图像滤波
- 图像的几何变换
- 其他图像转换
- 直方图相关
- 结构分析和形状描述
- 运动分析和对象跟踪
- 特征检测
- 目标检测
高级形态学变换:
腐蚀和膨胀是两种最基本的形态学操作。运用这两个基本操作,可以实现更高级的形态学变换。
我们主要讲解OpenCV中的morphologyEx函数,它利用基本的膨胀和腐蚀技术,来执行更加高级的形态学变换。如开闭运算,形态学梯度,“顶帽”、“黑帽”。
形态学的高级形态,往往都是建立在腐蚀和膨胀两个基本操作上的。
开运算:先腐蚀后膨胀。
dst=open(src,element) = dialate(erode(src,element));
开运算可以用来消除小物体,在纤细点处分离物体,并且在平滑较大物体的边界的同时不明显改变其面积。去除较小的明亮区域。
闭运算:
先膨胀后腐蚀。消除低亮度值的孤立点。
dst=close(src,element)=erode(diadate(src,element));
形态学梯度:是膨胀图与腐蚀图之差
dst = morph_grad(src,element) = dialate(src,element)-erode(src,element);
对二值图像进行这一操作可以将团块(blob)的边缘突出出来,可以使用形态学梯度来保留物体的边缘轮廓。
Mat source