matlab实现图像形态学处理(腐蚀、膨胀、开启、闭合)
·
图像处理形态学是一种基于各种数学形态学理论,对图像进行特征提取、分割和去噪等操作的方法。形态学操作主要包括膨胀、腐蚀、开运算、闭运算和形态学梯度等。
1.腐蚀
膨胀是一种对二值图像进行区域扩张的操作,它可以使物体的边缘向外扩张,从而填补物体的空洞和断裂。可以将膨胀看作是在原图像上覆盖一个核函数,核函数中心与像素相重合,然后将核函数中所有值为1的像素赋值给目标像素。这个过程会使目标像素的亮度增加。
clear all;
close all;
bw=imread('rice_gray.png');
se=strel('line',11,90); %盘型结构元素,半径为11
bw2=imerode(bw,se); %腐蚀
figure;
subplot(121),imshow(bw);
subplot(122),imshow(bw2);
2.膨胀
腐蚀是对二值图像进行区域缩小的操作,它可以使物体的边缘向内缩小,从而消除噪声和细小的物体。可以将腐蚀看作是在原图像上覆盖一个核函数,如果核函数中心与目标像素不重合,则将这个像素的值设为0。这个过程会使目标像素的亮度降低。
clear all;
close all;
bw=imread('rice_gray.png');
se=strel('line',11,90); %线性结构元素,长度为11,角度为90
bw2=imdilate(bw,se); %膨胀
figure;
subplot(121),imshow(bw);
subplot(122),imshow(bw2);
3.开启
开运算是先对图像进行腐蚀操作,再进行膨胀操作的组合操作,可以消除细小物体同时保留较大物体。开运算被广泛地应用于去除噪声和分离颜色相近的物体。
clear all;
close all;
I=imread('rice_gray.png');
se=strel('line',11,90); %盘型结构元素,半径为11
J=imopen(I,se); %%开运算
figure;
subplot(121),imshow(I);
subplot(122),imshow(J),title('开运算');
4.闭合
闭运算是先对图像进行膨胀操作,再进行腐蚀操作的组合操作,可以消除空洞并连接物体。闭运算常被应用于填充孔洞和连接同类物体。
clear all;
close all;
I=imread('rice_gray.png');
se=strel('line',11,90); %盘型结构元素,半径为11
J=imclose(I,se); %闭运算
figure;
subplot(121),imshow(I);
subplot(122),imshow(J),title('闭运算');
更多推荐
已为社区贡献4条内容
所有评论(0)