上一节,我们学习过图像的膨胀和腐蚀,简单地来说,以最大值代替中心像素则为膨胀,以最小值代替中心像素则为腐蚀,虽然这种说法不是很严谨,但是便于我们理解。这一节我们来学习一下,图像的形态学操作,它是基于膨胀和腐蚀的一种拓展。那主要包括哪些呢?包括开操作,闭操作,形态学梯度,顶帽,黑帽。
那下面我们一一来解释。
1、开操作:先腐蚀后膨胀。
假设对象是前景色,背景 是黑色,可以去掉小的对象。比如:
这时候是把多余的白色去掉了。
代码:
Mat src=imread("D:\\3.png");
Mat dst;
if(src.empty())
{
qDebug()<<"fail to load";
}
Mat kerel=getStructuringElement(MORPH_RECT,Size(19,19));
morphologyEx(src,dst,CV_MOP_OPEN,kerel);
imshow("src",src);
imshow("dst",dst);
waitKey(-1);
结果:
2、闭操作:先膨胀后腐蚀。
代码:
Mat src=imread("D:\\4.png");
Mat dst;
if(src.empty())
{
qDebug()<<"fail to load";
}
Mat kerel=getStructuringElement(MORPH_RECT,Size(19,19));
morphologyEx(src,dst,CV_MOP_CLOSE,kerel);
imshow("src",src);
imshow("dst",dst);
waitKey(-1);
结果:
我们可以看出将黑色的孔给去掉了。
3、形态学梯度。
膨胀减去腐蚀。
4、顶帽:原图像与开操作的差值图像。
5、黑帽:闭操作与原图像的差值图像。