机器视觉Word格式.docx
- 文档编号:19921958
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:19
- 大小:736.99KB
机器视觉Word格式.docx
《机器视觉Word格式.docx》由会员分享,可在线阅读,更多相关《机器视觉Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
(1)分别利用Roberts、Prewitt和Sobel边缘检测算子进行边缘检测;
(2)将Roberts、Prewitt和Sobel边缘检测算子修改为锐化算子,对原图像进行锐化,同屏显示原图像、边缘检测结果和锐化后图像,说明三者之间的关系。
第一题
一、画出所要求图形:
>
f1=zeros(256,256)——将f赋值为全0,大小为256*256的矩阵;
f1(64:
192,112:
144)=1——将f中列像素为64-192、横像素为112-144的像素块赋值为1;
imshow(f1,'
notruesize'
)——显示f矩阵所对应的图像。
如下图所示:
二、对f1进行二维快速傅里叶变换并图原图同屏显示:
f1=zeros(256,256);
>
144)=1;
subplot(1,2,1),imshow(f1,'
);
——在一个平面内的左半块图中显示原图;
F1=fft2(f1);
——对f1进行二维快速傅里叶变换;
F2=fftshift(abs(F1));
——把快速傅里叶变换的DC组件移到光谱中心;
subplot(1,2,2),imshow(F2,'
)——在一个平面内的右半块图中显示变换后的图像。
三、实现
aa=ones(1,33)——建立一个1行33列的矩阵
form=1:
33
bb=(-1).^m
cc(1,m)=bb
end————for语句,使cc成为(1,-1,……1,-1)共33列的矩阵
aa=cc.*(-1)——使aa成为(-1,1,……-1,1)共33列的矩阵
f2=f1;
forhang=1:
2:
129
shiji=hang+63
f2(shiji,112:
144)=aa
end————for语句,使f2从64行开始到192行偶数行为aa(f2图像如下,左图为原图,右图为放大图)
128
shiji=hang+1+63
144)=cc
end————for语句,使f2从65行开始到191行奇数行为cc(f2图像如下,左图为原图,右图为放大图)
四、对f2进行二维快速傅里叶变换并图原图同屏显示:
subplot(1,2,1),imshow(f2,'
F1=fft2(f2);
F2=fftshift(abs(F1));
subplot(1,2,2),imshow(F2,'
)
五、将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱
f3=imrotate(f2,90)——旋转90度得到如下图像
imshow(f3,'
F1=fft2(f3);
subplot(1,2,1),imshow(f3,'
六、将f1(m,n)顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5)
的幅度谱
f4=imrotate(f1,90);
f5=f4+f1
七、令f6(m,n)=f2(m,n)+f3(m,n),显示FFT(f6)的幅度谱
f6=f2+f3;
F1=fft2(f6);
imshow(F2,'
第二题
显示灰度图像
I=imread('
rice.png'
——将矩阵赋值给I
imshow(I,'
)——显示图像如图
Igs=imnoise(I,'
gaussian'
0,0.02);
——加入高斯噪声
imshow(Igs,'
)——显示图像如下
Ijy=imnoise(I,'
salt&
pepper'
0.02);
——加入椒盐噪声
imshow(Ijy,'
加入高斯噪声后使用中值滤波,滤波前后结果如图:
Imshow(Igs)
Igszl=medfilt2(Igs)——对Igs进行中值滤波
figure
(2)
imshow(Igszl)
加入椒盐噪声后使用中值滤波,滤波前后结果如图:
imshow(Ijy)
Ijyzl=medfilt2(Ijy)
imshow(Ijyzl)
加入高斯噪声后使用平均滤波,滤波前后结果如图:
I=imnoise(I,'
imshow(I);
h=[111
111
111];
——产生滤波模板
H=h/9;
——对滤波模板归一化
J=conv2(I,h);
——用均值模板对图像滤波
figure;
imshow(J,[])——显示滤波结果
加入椒盐噪声后使用平均滤波,滤波前后结果如图:
I=imnoise(I,'
imshow(I)
imshow(J,[])
显示原图像、加噪图像和滤波结果图像:
(1)高斯噪声
figure,
J=conv2(Igs,h);
imshow(J,[])
Imshow(I)
K=medfilt2(I);
imshow(K)
(2)椒盐噪声
J=conv2(Ijy,h);
K=medfilt2(Ijy);
第三题
一、分别利用Roberts、和Sobel边缘检测算子进行边缘检测,结果如图
I=imread('
——读取原图
imshow(I)——显示原图
R=edge(I,'
Roberts'
——R为Roberts边缘检测算子进行边缘检测的结果
figure;
imshow(R);
——第二个图显示Roberts边缘检测算子进行边缘检测的结果
S=edge(I,'
sobel'
——S为边缘检测算子进行边缘检测的结果
imshow(S);
P=edge(I,'
prewitt'
——P为Prewitt边缘检测算子进行边缘检测的结果
imshow(P);
——第四个图显示Prewitt边缘检测算子进行边缘检测的结果
使用锐化算子(拉式算子):
circuit=imread('
I=circuit;
I=double(I);
——将图像矩阵转化为double类型
imshow(I,[]);
h=[010
1-40
010];
——拉式算子的表示模板
J=conv2(I,h,'
same'
——拉式算子对图像滤波
K=I-J;
——增强图像为原始图像减去拉式算子滤波的图像
subplot(1,2,1),imshow(circuit)
subplot(1,2,2),imshow(K,[])
Roberts边缘检测及锐化,结果如图(左1为原图,右1为原图锐化,左2为Roberts边缘检测,右2为边缘检测锐化):
subplot(2,2,1),imshow(circuit)
subplot(2,2,2),imshow(K,[])
R=edge(circuit,'
subplot(2,2,3),imshow(R)
R=double(R);
J=conv2(R,h,'
K=R-J;
subplot(2,2,4),imshow(K,[])
sobel边缘检测及锐化,结果如图(左1为原图,右1为原图锐化,左2为sobel边缘检测,右2为边缘检测锐化):
S=edge(circuit,'
subplot(2,2,3),imshow(S)
S=double(S);
J=conv2(S,h,'
Prewitt边缘检测及锐化,结果如图(左1为原图,右1为原图锐化,左2为Prewitt边缘检测,右2为边缘检测锐化):
P=edge(circuit,'
subplot(2,2,3),imshow(P)
P=double(P);
J=conv2(P,h,'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 视觉
![提示](https://static.bdocx.com/images/bang_tan.gif)