matlab数字图像处理实验报告doc.docx
- 文档编号:24558183
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:16
- 大小:211.28KB
matlab数字图像处理实验报告doc.docx
《matlab数字图像处理实验报告doc.docx》由会员分享,可在线阅读,更多相关《matlab数字图像处理实验报告doc.docx(16页珍藏版)》请在冰豆网上搜索。
matlab数字图像处理实验报告doc
重庆交通大学
学生实验报告
实验课程名称《数字图像处理》课程上机实验
开课实验室河海学院仿真实验室
学院河海学院
年级专业08级地理信息系统
学生姓名
学号08260129
时间2011至2012学年第1学期
实验一图像显示
本次实验得分
【实验内容】
1)使用MATLAB图像读取函数imread读取图像。
2)使用MATLAB图像显示函数imshow显示图像。
3)使用MATLAB添加色带函数colorbar为图像添加色带。
【实验目的】
1)掌握MATLAB图像读取和显示函数的应用方法。
2)了解如何为图像添加色带。
【实验结果】
(放置处理前图像)
(放置处理后图像)
2-12-5-32-10
【程序说明】
a=imread('yq.jpg');
a=double(a);
%a=uint8(a);
imshow(a);
%savesaturn.data-ascii;
saveyu.texta-ascii;
%结果图2-1
e=imread('yq.jpg');
imshow(e);
iptsetpref('ImshowTruesize','manual');
figure,imshow(e);
iptsetpref('ImshowTruesize','auto');
bw1=zeros(20,20);
bw1(2:
2:
18,2:
2:
18)=1;
figure,imshow(bw1,'n
otruesize');
bw1
whos
%结果图2-5-3
%使用一个调色板来显示一副二进制图像
figure,imshow(bw,[100;001]);
%结果图2-10
实验二图像运算
本次实验得分
【实验内容】
1)使用MATLAB滑动邻域操作函数nlfilter对图像进行处理。
2)使用MATLAB分离邻域操作函数blkproc对图像进行处理。
【实验目的】
1)掌握滑动邻域操作函数的应用方法。
2)掌握分离邻域操作函数的应用方法。
【实验结果】
(放置处理前图像)(放置处理后图像)
2-14.Jpg
【程序说明】
(放置程序段)
%%f3.23(滑动邻域操作)
i=imread('2-14.jpg');
f=inline('max(x(:
))');
i2=nlfilter(i,[33],f);
subplot(1,2,1),imshow(i);
subplot(1,2,2),imshow(i2);
%结果图:
3-23.jpg
%%f3.25(分离邻域操作1)
i=imread('2-14.jpg');
f=inline('uint8(round(mean2(x)*ones(size(x))))');
i2=blkproc(i,[88],f);
i3=blkproc(i,[18],f);
subplot(1,3,1),imshow(i);
subplot(1,3,2),imshow(i2);
subplot(1,3,3),imshow(i3);
%结果图:
3-25.jpg
实验三图像变换
本次实验得分
【实验内容】
1)构造一矩形或正方形或菱形或其他形状的二进制图像。
2)使用MATLAB二维傅里叶变换函数fft2对图像进行处理。
【实验目的】
1)掌握二进制图像的构造方法。
2)掌握二维傅里叶变换函数的应用方法。
【实验结果】
(放置处理前图像)无
(放置处理后图像)
4-2.jpg4-4.jpg4-5.jpg4-6.jpg
【二维傅里叶变换数学计算】
(放置数学公式)
C=ifft2(fft2(A).*fft2(B));
【程序说明】
(放置程序段)
%%fig_4.6
f=zeros(40,40);
f(6:
24,13:
17)=1;
imshow(f,'notruesize');
%结果图:
4-2.jpg
%%fig_4.7
F=fft2(f);
F2=log(abs(F));
imshow(F2,[-15],'notruesize');
colormap(jet);
%结果图:
4-4.jpg
%%fig_4.8
F=fft2(f,256,256);
imshow(log(abs(F)),[-15]);
colormap(jet);
%结果图:
4-5.jpg
%%fig_4.3
F=fft2(f,256,256);
F2=fftshift(F);
imshow(log(abs(F2)),[-15]);
colormap(jet);
%结果图:
4-6.jpg
实验四滤波和滤波器设计
本次实验得分
【实验内容】
1)应用MATLAB二维窗口设计函数fwind2创建一个近似圆对称的带通滤波器,通频带为0.1~0.5,输出滤波器的频率响应曲线。
【实验目的】
1)了解MATLAB滤波器设计方法。
2)掌握用二维窗口设计函数fwind2创建带通滤波器的方法。
【实验结果】
(放置处理后图像)
【程序说明】
(放置程序段)
[f1,f2]=freqspace(34,'meshgrid');
Hd1=ones(34);
r=sqrt(f1.^2+f2.^2);
Hd1((r<0.1)|(r>0.5))=0;
win=fspecial('gaussian',34,2);
win=win./max(win(:
));
h3=fwind2(Hd1,win);
figure,freqz2(h3);
%结果图:
5-9.jpg
实验五二值形态学操作
本次实验得分
【实验内容】
1)应用MATLAB图像膨胀函数imdilate对图像进行膨胀操作。
2)应用MATLAB图像腐蚀函数imreode对图像进行腐蚀操作。
【实验目的】
1)了解MATLAB图像膨胀和图像腐蚀基本算法。
2)掌握MATLAB图像膨胀imdilate和图像腐蚀函数imreode的使用方法。
【实验结果】
(放置处理后图像)
6-1.jpg6-3.jpg
【图像膨胀和图像腐蚀数学计算】
(放置数学公式)
【程序说明】
(放置程序段)
BW=zeros(9,10);
BW(5:
6,5:
7)=1;
SE=strel('square',3);
BW2=imdilate(BW,SE);
subplot(1,2,1),imshow(BW);
subplot(1,2,2),imshow(BW2);
%结果图:
6-1.jpg
se=strel('rectangle',[4030]);
bw1=imread('6-2.bmp');
bw2=imerode(bw1,se);
imshow(bw2);
%结果图:
6-3.jpg
实验六图像的空间变换
本次实验得分
【实验内容】
1)读取两幅图像。
2)对两幅图像进行匹配。
【实验目的】
1)掌握MATLAB图像匹配方法。
【实验结果】
(放置处理前图像)
(放置处理后图像)
7-9.jpg7-10.jpg
【程序说明】
(放置程序段)
orthophoto=imread('23_s.jpg');
subplot(1,2,1),imshow(orthophoto)
unregistered=imread('23_s.jpg');
subplot(1,2,2),imshow(unregistered)
cpselect(unregistered(:
:
1),orthophoto)
input_points=[120.708693.9772
319.222278.9202
127.9838291.6312
352.0729281.1445];
input_points_corr=cpcorr(input_points,base_points,...
unregistered(:
:
1),orthophoto)
input_points_corr=[120.708693.9772
319.222278.9202
127.1064289.8935
352.0729281.1445];
mytform=cp2tform(input_points,base_points,'projective');
registered=imtransform(unregistered,mytform)
%结果图:
7-9.jpg
%%ch7_8_11
lily=imread('7-8.jpg');
flowers=imread('7-8.jpg');
subplot(1,2,1),imshow(lily);
subplot(1,2,2),imshow(flowers);
%%
rect_lily=[93138169];
rect_flowers=[19068235210];
sub_lily=imcrop(lily,rect_lily);
sub_flowers=imcrop(flowers,rect_flowers);
[sub_lily1,rect_lily]=imcrop(lily);
[sub_flowers1,rect_flowers]=imcrop(flowers);
subplot(1,2,1),imshow(sub_lily1)
subplot(1,2,2),imshow(sub_flowers1)
%%
c=normxcorr2(sub_lily(:
:
1),sub_flowers(:
:
1));
figure,surf(c),shadingflat
%%
[sub_lily,rect_lily]=imcrop(lily);
[sub_flowers,rect_flowers]=imcrop(flowers);
%%
[max_c,imax]=max(abs(c(:
)));
[ypeak,xpeak]=ind2sub(size(c),imax
(1));
corr_offset=[(xpeak-size(sub_lily,2))
(ypeak-size(sub_lily,1))];
rect_offset=[(rect_flowers
(1)-rect_lily
(1))
(rect_flowers
(2)-rect_lily
(2))];
offset=corr_offset+rect_offset;
xoffset=offset
(1);
yoffset=offset
(2);
%%
xbegin=xoffset+1;
xend=xoffset+size(lily,2);
ybegin=yoffset+1;
yend=yoffset+size(lily,1);
extracted_lily=flowers(ybegin:
yend,xbegin:
xend,:
);
ifisequal(lily,extracted_lily)
disp('lily.tifwasextractedfromflowers.tif')
end
%%
recovered_lily=uint8(zeros(size(flowers)));
recovered_lily(ybegin:
yend,xbegin:
xend,:
)=lily;
[m,n,p]=size(flowers)
mask=ones(m,n);
i=find(recovered_lily(:
:
1)==0);
mask(i)=.2;
figure,imshow(flowers(:
:
1))
holdon
h=imshow(recovered_lily);
set(h,'AlphaData',mask)
%结果图:
7-10.jpg
实验七图像增强
本次实验得分
【实验内容】
1)读取一副图像。
2)应用MATLAB直方图均衡化函数histeq对图像进行均衡化操作。
【实验目的】
1)掌握MATLAB直方图均衡化方法。
【实验结果】
(放置处理后图像)
8-4-2.jpg8-11.jpg
【程序说明】
(放置程序段)
(放置处理前后图像的数据矩阵)
i=imread('84.jpg');
imshow(i)
figure,imcontour(i)
%结果图:
8-4-2.jpg
i=imread('84.gif');
[j,t]=histeq(i);
figure,plot((0:
255)/255,t)
%结果图:
8-11.jpg
A=[172411815
23571416
46132022
101219213
11182529]
%结果:
A=
172411815
23571416
46132022
101219213
11182529
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数字图像 处理 实验 报告 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)