D) 综合实例
I=imread('aeroplane2.jpg');
level = graythresh(I); %得到合适的阈值 bw = im2bw(I,level); %二值化
SE = strel('square',3); %设置膨胀结构元素 BW1 = imdilate(bw,SE); %膨胀
SE1 = strel('arbitrary',eye(5)); %设置腐蚀结构元素 BW2 = imerode(bw,SE1); %腐蚀
BW3 = bwmorph(bw, 'open'); %开运算 BW4 = bwmorph(bw, 'close'); %闭运算
imshow(I);
figure,imshow(bw);
figure,imshow(BW1);
figure,imshow(BW2);
figure,imshow(BW3);
figure,imshow(BW4);
三、思考题
1. 结合实验内容,评价腐蚀运算与膨胀运算的效果。
腐蚀:是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。
膨胀:是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。
2. 结合实验内容,评价开运算与闭运算的效果。
开运算:先腐蚀后膨胀的过程开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。开运算通常是在需要去除小颗粒噪声,以及断开目标物之间粘连时使用。其主要作用与腐蚀相似,与腐蚀操作相比,具有可以基本保持目标原有大小不变的优点。
闭运算:先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。 3. 腐蚀、膨胀、开、闭运算的适用条件是什么? 腐蚀:可以用来消除小且无意义的物体。 膨胀:可以用来填补物体中的空洞。
开运算:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。
闭运算:用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积