多媒体及数字图像处理第三次实验_第1页
多媒体及数字图像处理第三次实验_第2页
多媒体及数字图像处理第三次实验_第3页
多媒体及数字图像处理第三次实验_第4页
多媒体及数字图像处理第三次实验_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、多媒体与数字图像处理第三次实验注意提交实验报告的文件名格式(姓名+学号+实验报告三.doc)图像变换与滤波器设计一、实验目的1. 了解傅立叶变换、离散余弦变换及Radon变换在图像处理中的应用2. 了解Matlab线性滤波器的设计方法二、实验内容1. 傅立叶变换A) 傅里叶变换基本操作I = imread(at3_1m4_04.tif);imshow(I);title(源图像);J = fft2(I);figure, imshow(J);title(傅立叶变换); %频移JSh = fftshift(J);figure, imshow(JSh);title(傅立叶变换频移);%直接傅立叶反变换

2、Ji = ifft2(J);figure, imshow(Ji/256);title(直接傅立叶变换);%幅度JA = abs(J);iJA = ifft2(JA);figure, imshow(iJA/256);title(幅度傅立叶反变换);%相位JP = angle(J);iJP = ifft2(JP);figure, imshow(abs(iJP)*100);title(相位傅立叶反变换); B) 利用MATLAB软件实现数字图像傅立叶变换的程序I=imread(at3_1m4_04.tif); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅

3、立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR= real(sfftI); %取傅立叶变换的实部II= imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.2+II.2);%计算频谱幅值A=(A-min(min(A))/(max(max(A)-min(min(A)*225; %归一化figure; %设定窗口imshow(A); %显示原图像的频谱C) 绘制一个二值图像矩阵,并将其傅立叶函数可视化。f=zeros(30,30);f(5:24,13:17)=1;imshow(f,notruesize)F=fft2(f);F2=log(abs(F);f

4、igure,imshow(F2,-1 5,notruesize);colormap(jet); F=fft2(f,256,256); %零填充为256256矩阵figure,imshow(log(abs(F),-1 5,notruesize);colormap(jet); F2= fftshift(log(1+abs(F); %将图像频谱中心由矩阵原点移至矩阵中心figure,imshow(log(abs(F2),-1 5,notruesize);colormap(jet);D) 利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像eurotext.tif,抽取其中的字母a。bw=imr

5、ead(eurotext.tif);a=bw(177:203, 424:444);imshow(bw);figure,imshow(a);C=real(ifft2(fft2(bw).*fft2(rot90(a,2), 800,1024);%求相关性figure,imshow(C,);thresh=max(C(:);figure,imshow(Cthresh-10)figure,imshow(Cthresh-15)请分析改程序显示图的含义。先读取图片,然后取出x=177:203, y=424:444之间的图片,在求原图和a的相关性,然后檫黑2. 离散余弦变换(DCT)A) 使用dct2对图像au

6、tumn.tif进行DCT变换。RGB=imread(autumn.tif);imshow(RGB)I=rgb2gray(RGB); %转换为灰度图像figure,imshow(I)J=dct2(I);figure,imshow(log(abs(J),),colormap(jet(64);colorbar;B) 将上述DCT变换结果中绝对值小于10的系数舍弃,使用idct2重构图像并与原图像比较。RGB=imread(autumn.tif);I=rgb2gray(RGB); %转换为灰度图像J=dct2(I);figure,imshow(I)K=idct2(J);figure,imshow(K

7、,0 255)J(abs(J)10)=0; %舍弃系数K2=idct2(J);figure,imshow(K2,0 255)C) 利用DCT变换进行图像压缩。I=imread(cameraman.tif);I=im2double(I);T=dctmtx(8);B=blkproc(I,8,8,P1*x*P2,T,T);mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;B2=blkpr

8、oc(B,8 8,P1.*x,mask);I2=blkproc(B2,8 8,P1*x*P2,T,T);imshow(I)figure,imshow(I2)3. *Matlab线形滤波器设计采用频率变换方式,通过一维最优波纹FIR滤波器创建二维FIR滤波器)。b=remez(10,0 0.4 0.6 1,1 1 0 0);%阶次,频率向量,对应的理想幅频响应h=ftrans2(b);H,w=freqz(b,1,64,whole);colormap(jet(64)plot(w/pi-1,fftshift(abs(H);%使x轴取值0处对应曲线中心figure,freqz2(h,32 32)三、思

9、考题1. 傅里叶变换有哪些重要的性质?线性性质、尺度变换性质、对偶性、平移性质2. 简述傅立叶频谱搬移的原理将信号乘以所谓的载频信号或3. 简述Fourier系数幅度、相位的物理意义。对幅度谱,是对信号轮廓和形状的描述;对相位谱,是对信号位置的描述4. 图像的二维频谱在显示和处理时应注意什么?运用对数形式能增加显示细节,为了便于分析,使用fftshift函数将频谱的零频分量移至频谱的中心。进行傅里叶变换的图像应该是灰度图形,原rgb彩色图像无法进行相应变换。5. 简述离散余弦变换(DCT)的原理。DCT变换利用傅立叶变换的性质。采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换

10、,变换后仅包含余弦项,所以称之为离散余弦变换。形态学操作一、实验目的1. 了解膨胀和腐蚀的Matlab实现方法2. 掌握图像膨胀、腐蚀、开启、闭合等形态学操作函数的使用方法3. 了解二进制图像的形态学应用二、实验内容1. 图像膨胀A) 对包含矩形对象的二进制图像进行膨胀操作。BW=zeros(9,10);BW(4:6,4:7)=1;imshow(BW,notruesize)se=strel(square,3); % 3x3正方形结构元素BW2=imdilate(BW,se); % 膨胀操作figure,imshow(BW2,notruesize)B) 改变上述结构元素类型(如:line, di

11、amond, disk等),重新进行膨胀操作。Disk,3:BW=zeros(9,10);BW(4:6,4:7)=1;imshow(BW,notruesize)%se=strel(square,3); % 3x3正方形结构元素se=strel(disk,3);BW2=imdilate(BW,se); % 膨胀操作figure,imshow(BW2,notruesize)C) 对图像eurotext.tif进行上述操作,观察不同结构元素膨胀的效果。BW3=imread(eurotext.tif);imshow(BW3)se2=strel(line,11,90);% 11x90线型结构元素BW4=

12、imdilate(BW3,se2); % 膨胀操作figure,imshow(BW4)2. 图像腐蚀A) 对图像circbw.tif进行腐蚀操作。BW1=imread(circbw.tif);se=strel(arbitrary,eye(5);BW2=imerode(BW1,se,same); % 腐蚀操作imshow(BW1)figure,imshow(BW2)B) 对图像eurotext.tif进行腐蚀操作。BW=imread(eurotext.tif);se=strel(line,8,80);% 8x80线型结构元素BW2=imerode(BW,se,same); % 腐蚀操作imsho

13、w(BW)figure,imshow(BW2)3. 膨胀与腐蚀的综合使用A) 从原始图像circbw.tif中删除电流线,仅保留芯片对象。方法一:先腐蚀(imerode),再膨胀(imdilate);BW1=imread(circbw.tif);imshow(BW1)se=strel(rectangle,40 30); %选择适当大小的矩形结构元素BW2=imerode(BW1,se,same);%先腐蚀,删除较细的直线figure,imshow(BW2)BW3=imdilate(BW2,se);%再膨胀,恢复矩形的大小figure,imshow(BW3)方法二:使用形态开启函数(imopen

14、)。BW1=imread(circbw.tif);imshow(BW1)se=strel(rectangle,40 30); BW2=imopen(BW1,se);%开启操作figure,imshow(BW2)B) 改变结构元素的大小,重新进行开启操作,观察处理结果。se=strel(rectangle,20 10); se=strel(rectangle,50 40);C) 置结构元素大小为4 3,同时观察形态开启(imopen)与闭合(imclose)的效果,总结形态开启与闭合在图像处理中的作用。I=imread(circbw.tif);imshow(I)se=strel(rectangl

15、e,4 3); I1=imopen(I,se);%开启操作I2=imclose(I,se);%闭合操作figure,imshow(I1)figure,imshow(I2)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 =

16、 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. 结合实验内容,评价开运算与闭运算的效果。开运算:先腐蚀后膨胀的过程开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。开运算通常是在需要去除小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论