实验四 图像变换与滤波器设计

上传人:mg****85 文档编号:37214376 上传时间:2018-04-09 格式:DOC 页数:5 大小:42KB
返回 下载 相关 举报
实验四  图像变换与滤波器设计_第1页
第1页 / 共5页
实验四  图像变换与滤波器设计_第2页
第2页 / 共5页
实验四  图像变换与滤波器设计_第3页
第3页 / 共5页
实验四  图像变换与滤波器设计_第4页
第4页 / 共5页
实验四  图像变换与滤波器设计_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验四 图像变换与滤波器设计》由会员分享,可在线阅读,更多相关《实验四 图像变换与滤波器设计(5页珍藏版)》请在金锄头文库上搜索。

1、实验四实验四 图像变换与滤波器设计图像变换与滤波器设计一、实验目的一、实验目的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(傅立叶变换频移);%直接傅立叶反变换Ji =

2、 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(原图像名.gif); %读入原图像文件 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(

4、abs(F); figure,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(F); %将图像频谱中心由矩阵原点移至矩阵中心figure,imshow(log(abs(F2),-1 5,notruesize);colormap(jet);D)利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像text.tif,抽 取其中的字母a。bw=imread(

5、text.tif); a=bw(59:71,81:91); imshow(bw); figure,imshow(a); C=real(ifft2(fft2(bw).*fft2(rot90(a,2),256,256);%求相关性figure,imshow(C,); thresh=max(C(:); figure,imshow(Cthresh-10) figure,imshow(Cthresh-15)2.离散余弦变换离散余弦变换(DCT)A)使用 dct2 对图像autumn.tif进行 DCT 变换。RGB=imread(autumn.tif); imshow(RGB) I=rgb2gray(R

6、GB); %转换为灰度图像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,0 255) J(abs(J)10)=0; %舍弃系数K2=idct2(J); figure,ims

7、how(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 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0; B2=blkproc(B,8 8,P1.*x,mask); I2=blkproc(B2,8 8,P1*x*P2,T,

8、T); imshow(I) figure,imshow(I2)3.Radon 变换变换使用 Radon 逆变换重建图像。 P=phantom(256); %创建 256 灰度级大脑图imshow(P) theta1=0:10:170;R1,xp=radon(P,theta1); %18 个投影 theta2=0:5:175; R2,xp=radon(P,theta2); %36 个投影 theta3=0:2:178; R3,xp=radon(P,theta3); %90 个投影 figure,imagesc(theta3,xp,R3);colormap(hot);colorbar% 使用逆变换

9、重构 图像 I1=iradon(R1,10); %用 R1 重构图像I2=iradon(R2,5); %用 R2 重构图像 I3=iradon(R3,2); %用 R3 重构图像figure,imshow(I1) figure,imshow(I2) figure,imshow(I3)4.*Matlab 线形滤波器设计线形滤波器设计采用频率变换方式,通过一维最优波纹 FIR 滤波器创建二维 FIR 滤波器(p96)。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)三、思考题三、思考题1. 傅里叶变换有哪些重要的性质? 2. 简述傅立叶频谱搬移的原理 3. 简述 Fourier 系数幅度、相位的物理意义。 4. 图像的二维频谱在显示和处理时应注意什么? 5. 简述离散余弦变换(DCT)的原理。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号