基于二维福利叶变换的图像处理技术

上传人:cn****1 文档编号:498945864 上传时间:2023-11-15 格式:DOC 页数:23 大小:1.04MB
返回 下载 相关 举报
基于二维福利叶变换的图像处理技术_第1页
第1页 / 共23页
基于二维福利叶变换的图像处理技术_第2页
第2页 / 共23页
基于二维福利叶变换的图像处理技术_第3页
第3页 / 共23页
基于二维福利叶变换的图像处理技术_第4页
第4页 / 共23页
基于二维福利叶变换的图像处理技术_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于二维福利叶变换的图像处理技术》由会员分享,可在线阅读,更多相关《基于二维福利叶变换的图像处理技术(23页珍藏版)》请在金锄头文库上搜索。

1、第一章 基于二维傅里叶变换的图像处理技术1.1二维傅里叶变化基础 假如以正方形网格采样得到的数字图像用f(x,y)表示,由一维傅里叶变换的定义可以得到f(x,y)的二维傅里叶变换为: 其反变换为:1.2傅里叶变换的性质1 分离性:2 平移性3 周期性4 共轭对称性5 旋转性6 分配性和比例性1.3 matlab中二维傅里叶变换的函数以及应用 在MATLAB中,用来实现数字图像傅里叶变换用到的函数主要有fft2函数和fftshift函数。前者用来实现数字信号的二维离散傅里叶变换,后者用来将傅里叶变换的零频率部分移到频谱的中间。fft2函数的语法格式如下:Y = fft2(X)Y = fft2(X

2、,m,n)fftshift函数的语法格式如下:Y = fftshift(X)Y = fftshift(X,dim)例:制作64*64 大小的简单黑白二值图像用Matlab 的imread 函数读取并做二维DFT 变换代码:clear%创建256*256的二值图像f = zeros(256,256);f(124:130,117:137) = 1;%原始图像显示figure(1);imshow(f);title(原始图像);%傅里叶变换F = fft2(f);%频谱中心化F2 = fftshift(abs(F);%结果显示figure(2);x=1:256;y=1:256;mesh(x,y,F2(

3、x,y); colormap(jet); colorbartitle(傅立叶变换结果);图 1-1 a) 图1-1 b)结果分析: 从变换结果图1-1 b)可以看出,图像的能量主要集中在某一频率段,如果将系数较小的部分舍去,即可实现图像的压缩。例:更改DFT 系数为整数,做IDFT 观察图像的变化; %将DFT系数的绝对值四舍五入后作为新的dft系数F1=round(abs(F);f2=ifft2(F1);figure(3);imshow(f2);实验结果:图1-2 a)实验结论: 可见图像无法还原到最初。例:更改小幅值的DFT 系数为0,做IDFT 变化观察图像的变化:%将绝对值小于a的都改

4、为零,在做IDFT变换:%取a=1;F(abs(F)1)=0;f2=ifft2(F);figure(4);imshow(f2);实验结果:图1-3 a)结果分析: 在执行二维离散傅里叶变换过程中,只取离散傅里叶变换系数大于1的系数,所示的反变换结果如图1-3 c)和原图像1-1 a)比较,通过肉眼观测,很难看出两者的区别,如果将系数小于100的值设为0,反变换得到的结果如图1-3 d)所示,图像的清晰度越来越低,图像质量越来越差。F(abs(F)100)=0;f2=ifft2(F);figure(4);imshow(f2);图1-3 d)例:选取不同类型(自然景观、人物照片、卡通图片)的实际图

5、片重复上述处理并分析结果用下面这幅图进行分析: 代码:f=imread(e:/26794054.jpg);figure(1);imshow(f);F=fft2(f);figure(2);f1=ifft2(F);imshow(f1);图1-4结果分析: 可见图像已经发生严重失真。例:将彩色图像转换为黑白二值图像之后才能进行二维傅里叶变换这里我们取阈值为0.5代码:f=imread(e:/26794054.jpg);f1=im2bw(f,0.5);figure(1);imshow(f1);title(原始图像);F=fft2(f1);%取F的实部再取整F1=ceil(real(F);f2=ifft

6、2(F1);figure(2);imshow(f2);%将DFT系数小于十的全取零F(abs(F)10)=0;f3=ifft2(F);figure(3);imshow(f3);实验结果:图1-5 a) 图1-5 b) 图1-5 c)结果分析:可见如果要压缩彩图,不可能保留其颜色信息,只有将其先转换为黑白二值图像之后才能进行压缩,这样至少图像基本形状信息不会缺失。第2章 基于离散余弦变换的图像压缩技术2.1离散余弦变换基础一维离散余弦变换和其反变换定义如下:式中二维离散余弦变换和反变换的公式为:2.2 Matlab实例操作1、dct2函数 利用该函数可以实现数字图像的二维离散余弦变换,该函数使用

7、了一个基于FFT的算法,提高了较大矩阵时的处理速度。其语法格式为:B = dct2(A)B = dct2(A,m,n)B = dct2(A,m n)例:对D:matlabgirl.jpg进行离散余弦变换:代码:clear all%读入图像并显示RGB = imread(D:matlabgirl.jpg); figure(1);imshow(RGB);title(原始图像) ;%将真彩图像转换为灰度图像A = rgb2gray(RGB); %实现离散余弦变换B = dct2(A); %结果显示figure(2);imshow(log(abs(B), ), colormap(jet(64), co

8、lorbartitle(离散余弦变换结果);实验结果:图2-1 a) 图2-1 b)图2-1 c)结果分析: 从图 2-1 b)所示的变化结果及图2-1 c)所示的变化系数可以看出,经过离散余弦变换,图像的能量主要集中在图像2-1 b)的左上角,其余大部分系数接近于0,这说明离散余弦变换也可用于图像的压缩。2. 、idct2函数MATLAB 中,可以用函数Idct2实现离散余弦反变换,其语法格式为:B = idct2(A)B = idct2(A,m,n)B = idct2(A,m n)例:对D:matlabgirl.jpg进行离散余弦变换,在进行反变换之前,将系数小于10的值设为0,再进行反变

9、换代码: clear all%读入图像并转换为灰度图像RGB = imread(D:matlabgirl.jpg);A = rgb2gray(RGB); %显示图像figure(1);imshow(A);title(原始图像灰度显示) ;%离散余弦变换并显示结果B = dct2(A); figure(2);imshow(log(abs(B),), colormap(jet(64), colorbar title(离散余弦变换结果图像);%将变换系数中小于10的值设为0B(abs(B) P1; 8 8-x ;D-P2Bdct = blkproc(I,8 8,P1*x*P2,D,D); % 系数选

10、择Bch = blkproc(Bdct,8 8,P1.*x,mask);% IDCT变换 Bidct = blkproc(Bch,8 8,P1*x*P2,D,D);%结果显示figure(2),imshow(Bidct);title(解压图像);实验结果:2-3 a) 2-3 b)2-3 c)结果分析: 如图2-3 c)所示,尽管在反变换过程中只保留了15/64=23.4%的系数,单反变换图像依然有较好的视觉效果,仔细观察图像可以看出,解压图像边缘线条边缘比较模糊,这说明在压缩过程中抛弃了图像的高频成分,因而图像经过DCT后,其低频分量主要集中在左上角,而高频分量集中在右下角。第三章 基于小波变换的图像压缩3.1连续小波变换 所有小波是通过对基本小波进行尺度伸缩和位移得到的。基本小波(也称母小波)是一具有特殊性质的实值函数,它是震荡衰减的,而且通常衰减得很快,在数学上满足零均值条件: 而且,其频谱满足条件(容许条件): 即基本小波在频域也具有好的衰减性质。一族小波基函数可以由基本小波函数通过尺度伸缩参数a和位移参数b来产生: 如果函数f(t)属于空间L2(R) ,则的连续小波变换(CWT)定义为: CWT的逆变换为:3.2离散小波变换令尺度伸缩参数 为

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

当前位置:首页 > 学术论文 > 其它学术论文

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