实验图像的正交变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三图像的正交变换
一、实验目的
1.了解傅立叶变换、离散余弦变换及其在图像处理中的应用
2.了解Matlab线性滤波器的设计方法
二、实验步骤
1、打开MATLAB软件,设置工作路径,新建M文件。
2、将图片放到当前工作路径下
3、写入图像正交变换(包括傅里叶变换、离散余弦变换)程序保存并调试运行。程序具体要求:
(1)傅立叶变换
A) 绘制一个二值图像矩阵,并将其傅立叶函数可视化。
B) 利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像‘cameraman.tif’,抽取其中的字母‘a’。
( 2 ) 离散余弦变换(DCT)
A)使用dct2对图像‘linyichen.jpg’进行DCT变换。
B)将上述DCT变换结果中绝对值小于10的系数舍弃,使用idct2重构图
像并与原图像比较。
4、保存实验结果并完善实验报告。
三、实验程序
1、傅立叶变换
A)绘制一个二值图像矩阵,并将其傅立叶函数可视化。
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],'notruesize');colormap(jet);
F=fft2(f,256,256); %零填充为256×256矩阵
figure,imshow(log(abs(F)),[-1 5],'notruesize');colormap(jet);
F2=fftshift(F); %将图像频谱中心由矩阵原点移至矩阵中心
figure,imshow(log(abs(F2)),[-1 5],'notruesize');colormap(jet);
B)利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像‘cameraman.tif’,抽取其中的字母‘a’。
bw=imread('cameraman.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(C>thresh-10)
figure,imshow(C>thresh-15)
2.离散余弦变换(DCT)
A)使用dct2对图像‘linyichen.jpg’进行DCT变换。
RGB=imread('linyichen.jpg');
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('linyichen.jpg');
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])
四、实验结果
1、傅立叶变换
A) 绘制一个二值图像矩阵,并将其傅立叶函数可视化。
图1 傅里叶变换A)的实验结果
B)利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像‘cameraman.tif ’,抽取其中的字母‘a ’。
图2 傅里叶变换B )的实验结果
3. 离散余弦变换(DCT)
A) 使用dct2对图像‘linyichen.jpg ’进行DCT 变换。
-5
5
图3 离散余弦变换A )的实验结果
B) 将上述DCT 变换结果中绝对值小于10的系数舍弃,使用idct2重构图
像并与原图像比较。
图
4 离散余弦变换
B)的实验结果
五、结果分析
1、傅立叶变换
绘制一个二值图像矩阵并做其傅里叶变换;零填充为256×256矩阵的傅里叶变换;将图像频谱中心由矩阵原点移至矩阵中心(见图1)。定位图像cameraman.tif(59:71,81:91);扩展为256*256大小旋转90度并求相关性(见图2)可见图像变得模糊。
2、离散余弦变换(DCT)
将linyichen.jpg转换为灰度图像并对灰度图像进行DCT变换,可见能量集中在低频部分(见图3)。使用idct2重构图像;将 DCT变换结果中绝对值小于10的系数舍弃并使用idct2重构图像,可以看出两者和原灰度图像的差别不是很明显(见图4)。
六、实验总结
通过这次试验对傅立叶变换、离散余弦变换及其在图像处理中的应用有了更深的认识。了解了Matlab线性滤波器的设计方法,并对fft2、colormap、fftshift、dct2、idct2等函数的使用有了一定的了解。