数字图像处理 第九章课后作业
2017 级物联网工程秦炜
第一题
9-7 (a)反复膨胀一幅图像的极限效果是什么?假设不使用只有一
个点的结构元。
(b)为使(a)的答案成立,你能从其开始的最小图像是什么?
答:(a)如果使用不只有一个点的结构元,反复膨胀一幅图像的极限效果是将
图像 无限增长。
(b)为了使得(a)的答案成立,我觉得其开始的最小图像为 一个元素集。
注:1.附图中含部分代码,从实验现象可以看出来随着不断的膨胀,图像轮廓
越来越大;即图像的极限效果是向边缘 无限增长。
2.开始图像若从最小图像(元素集)开始,得到的效果会更加直观。
第二题
9-18 考虑下图所示的 3 幅二值图像。左侧的图像由边长为 1,3,5,
7,9 和 15 像素的方块组成。中间的图像是使用大小为 13×13 像素、
元素为 1 的方形结构元对左侧图像进行腐蚀生成的,除了最大的几个
之外,消除了所有的方块。最后,右侧的图像是使用相同的结构元对
中间图像膨胀后的结果,其目的是恢复最大的方块。我们知道,先腐
蚀再膨胀实际上是对图像的开操作,并且我们还知道开操作通常不能
将物体恢复为原始形式。请解释这种情况下为何能完全重建较大的方
块。
答:如果对象和结构元素形状是相同时,有可能将三个大正方形重建为它们的原
始大小,因为它们没有完全腐蚀(从第二幅图可以看出),并且对象和结构元素
的几何形状相同(即它们是正方形)。如果对象和结构元素是矩形的,这也是正
确的。但是,例如通过膨胀一个被圆部分腐蚀的矩形来进行完整的重建将是不可
能的。
注:1.附图中含部分代码,从实验现象可以看出来在开运算中,当对象和结构
元素形状是相同时,只要没有被完全腐蚀,仍然有可能将它们重建。
若对象和结构元素形状是不同时,很难将它们重建。
附:
第一题代码块
Image=imread('menu.bmp');
BW=im2bw(Image);
%打开图像
%转换为二值图像
[h w]=size(BW);
result=zeros(h,w);
for x=2:w-1
for y=2:h-1
for m=-1:1
for n=-1:1
if BW(y+n,x+m)
集不为空
%获取图像尺寸
%定义输出图像,初始化为 0
%扫描图像每一点,即结构元素移动到每一个位置
%当前点周围 3×3 范围,即结构元素为 3×3 大小
%结构元素所覆盖 3×3 范围内有像素点为 1,即交
result(y,x)=1;
break;
%将参考点记录为前景点
end
end
end
end
end
figure,
subplot(121),imshow(BW);title('原始二值图像');
subplot(122),imshow(result);title('二值图像膨胀');
%创建结构元素
%膨胀运算
SE=strel('square',3)
A1=imdilate(BW,SE);
A2=imdilate(A1,SE);
A3=imdilate(A2,SE);
A4=imdilate(A3,SE);
A5=imdilate(A4,SE);
A6=imdilate(A5,SE);
A7=imdilate(A6,SE);
A8=imdilate(A7,SE);
A9=imdilate(A8,SE);
A10=imdilate(A9,SE);
figure,
subplot(221),imshow(A1);
title('1 次膨胀后的图像');
subplot(222),imshow(A3);
title('3 次膨胀后的图像');
subplot(223),imshow(A5);
title('5 次膨胀后的图像');
subplot(224),imshow(A10);
title('10 次膨胀后的图像');
原始二值图像及其膨胀的图形:
多次膨胀后的图像:
第二题代码块
%%ex.9-18
clc
clear
f=imread('left.tif');
SE=strel('square',13);
SE1=strel('disk',13);
result1=imopen(f,SE);
result2=imdilate(imerode(f,SE1),SE);
result3=imerode(imdilate(f,SE1),SE);
figure
subplot(221),imshow(f);title('开闭运算原始图像');
subplot(222),imshow(result1);title('开闭运算后图像');
subplot(223),imshow(result2);title('膨胀一个被圆部分腐蚀的矩形');
subplot(224),imshow(result3);title('腐蚀一个被圆部分膨胀的矩形');
%方型结构元素
%圆盘型结构元素
%用 3×3 结构元素进行开运算
图像(含矩形)经过先腐蚀再膨胀(开操作)后图像、先经圆形部分腐蚀后
被矩形部分膨胀后图像、先经圆形部分膨胀后被矩形部分腐蚀后图像。