实验图像的正交变换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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等函数的使用有了一定的了解。

相关文档
最新文档