收藏 分享(赏)

第三次实验.docx

上传人:eukav 文档编号:4465680 上传时间:2018-12-29 格式:DOCX 页数:23 大小:2.57MB
下载 相关 举报
第三次实验.docx_第1页
第1页 / 共23页
第三次实验.docx_第2页
第2页 / 共23页
第三次实验.docx_第3页
第3页 / 共23页
第三次实验.docx_第4页
第4页 / 共23页
第三次实验.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

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 = ifft2(J);figure, imshow(Ji

2、/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(mri.tif); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心

3、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); %显示原图像的频谱原图:图 A:C) 绘制一个二值图像矩阵,并将其傅立叶函数可视化。f=zeros(30,30);f(5:24,13:17)=1;imshow(f,notruesize)F=fft2(f);F2=log(abs(F);figure,imshow(F2,-1 5,notruesi

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

5、44);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)将字母找出来并擦黑。2. 离散余弦变换(DCT)A) 使用 dct2 对图像autumn.tif进行 DCT 变换。RGB=imread(autumn.tif);imshow(RGB)I=rgb2gray(RGB); %转换为灰度图像figure,imsho

6、w(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,imshow(K2,0 255)C) 利用 DCT 变换进行图像压缩。

7、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,T);imshow(I)figure,imshow(I2)原图:压缩图:3

8、. 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% 使用逆变换重构图像原图:重构图像:I1=iradon(R1,10); %用 R1 重构

9、图像I2=iradon(R2,5); %用 R2 重构图像I3=iradon(R3,2); %用 R3 重构图像figure,imshow(I1)figure,imshow(I2)figure,imshow(I3)R1 重构:R2 重构 :R3 重构 :4. *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,

10、fftshift(abs(H); %使 x 轴取值 0 处对应曲线中心figure,freqz2(h,32 32)三、思考题1. 傅里叶变换有哪些重要的性质?答:线性;时延性;频移性;尺度变换;时域微分特性;频域微分特性;对称性;奇、偶、虚、实 性。2. 简述傅立叶频谱搬移的原理答:傅立叶变换可以将信号分解成幅值分量和频率分量,进而对时域信号进行频域分析,一个信号的频谱形状不变,只是频谱中的每条谱线从原来频率整体搬移到另一个频率附近3. 简述 Fourier系数幅度、相位的物理意义。对幅度谱,是对信号轮廓和形状的描述;对相位谱,是对信号位置的描述。4. 图像的二维频谱在显示和处理时应注意什么?答:运用对数形式能增加显示细节,为了便于分析,使用 fftshift函数将频谱的零频分量移至频谱的中心。进行傅里叶变换的图像应该是灰度图形,原 rgb彩色图像无法进行相应变换。5. 简述离散余弦变换(DCT)的原理。答:DCT 变换利用傅立叶变换的性质。采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报