图像变换(三)_第1页
图像变换(三)_第2页
图像变换(三)_第3页
图像变换(三)_第4页
图像变换(三)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十三讲 图像变换(三)【目录】一、快速傅立叶变换11、推导12、举例23、分析5二、余弦变换61、定义62、命令63、基础函数84、应用9【正文】一、快速傅立叶变换1、推导二维的傅立叶变换可以用一维的傅立叶变换来实现。所以下面所说的快速傅立叶变换(FFT)是指一维的快速傅立叶变换。一维的离散傅立叶变换(DFT)表达式为:令,则:假定,则:对于,用来表示时,有:所以有:因为有:所以:定义:第一项:第二项:则:,其中:另外:要求个数的傅立叶变换,只要先求出其中个偶数项的傅立叶变换值和个奇数项的傅立叶变换值,用上述两个公式就能得到整个的变换值。2、举例下面以为例,分解:令:则:其中。因为有:所以我

2、们只要计算就可以得到8个傅立叶变化值了。如下图所示。Fe(0)Fe(1)Fe(2)Fe(3)F0(0)F0(1)F0(2)F0(3)F(0)F(1)F(2)F(3)F(5)F(6)F(7)F(4)其中每一组表示一个蝶形运算。Fe(U)、Fo(U)可进一步分成两部分。直至分到两个数的傅立叶变换。f0(0)f0(4)f0(2)f0(6)f0(1)f0(5)f0(3)f0(7)f1(0)f1(4)f1(2)f1(6)f1(1)f1(5)f1(3)f1(7)f2(0)f2(2)f2(4)f2(6)f2(1)f2(3)f2(5)f2(7)F(0)F(1)F(2)F(3)F(4)F(5)F(6)F(7)对

3、于两个数的傅立叶变换,可直接由变换公式得:【例】f0=14 24 98 45 56 66 23 56;f1=zeros(1,8);f2=f1;F=f1;W4=exp(-j*2*pi/4);W8=exp(-j*2*pi/8);% N=2f1(1)=f0(1)+f0(5);f1(5)=f0(1)-f0(5);f1(3)=f0(3)+f0(7);f1(7)=f0(3)-f0(7);f1(2)=f0(2)+f0(6);f1(6)=f0(2)-f0(6);f1(4)=f0(4)+f0(8);f1(8)=f0(4)-f0(8);% N=4f2(1)=f1(1)+W40*f1(3);f2(5)=f1(1)-

4、W40*f1(3);f2(3)=f1(5)+W41*f1(7);f2(7)=f1(5)-W41*f1(7);f2(2)=f1(2)+W40*f1(4);f2(6)=f1(2)-W40*f1(4);f2(4)=f1(6)+W41*f1(8);f2(8)=f1(6)-W41*f1(8);% N=8F(1)=f2(1)+W80*f2(2);F(5)=f2(1)-W80*f2(2);F(2)=f2(3)+W81*f2(4);F(6)=f2(3)-W81*f2(4);F(3)=f2(5)+W82*f2(6);F(7)=f2(5)-W82*f2(6);F(4)=f2(7)+W83*f2(8);F(8)=f

5、2(7)-W83*f2(8);F',fft(f0)' ans = 382 -63.92 + 37.523i -51 - 11i -20.08 - 112.48i 0 -20.08 + 112.48i -51 + 11i -63.92 - 37.523ians = 382 -63.92 + 37.523i -51 - 11i -20.08 - 112.48i 0 -20.08 + 112.48i -51 + 11i -63.92 - 37.523i 3、分析DFT的运算量:乘法:8×4×8256N4加法:8×4×7N4-N2FFT的运算量:

6、共有3log2N次递推,每次4N/2个蝶形,每个蝶形有一次乘法和两次加法,所以乘法:N(log2N)/2加法:N(log2N)NDCTFFTNDCTFFT乘法加法乘法加法乘法加法乘法加法84096403212241282.68×1082.68×10844889616655366528032642564.30×1094.29×10910242048321.05×1061.05×106801605126.87×10106.87×101023044608641.68×1071.68×107192384

7、10241.10×10121.10×1012512010240输入次序二进制输出次序二进制0000000041001001201020106110301110014100510151013011611071117111二、余弦变换1、定义正变换:其中:,逆变换:2、命令(1) dct2dct2函数实现图像的二维离散余弦变换,其语法为:F=dct2(f)【例】CLFf=imread('demo.jpg');f=im2double(f);F=dct2(f);subplot(121),imshow(f,);subplot(122),imshow(log(1+20*

8、abs(F),); 从例子可以看出,DCT变换具有能量集中的性质,数据集中在左上角。(2) idct2idct2函数实现图像的二维离散余弦逆变换,其语法为:F=idct2(f)【例】CLFf=imread('demo.jpg');F=dct2(f);F(abs(F)<50)=0;k=idct2(F);subplot(121),imshow(f,);subplot(122),imshow(k,); (3) dctmtxdctmtx函数返回DCT的变换矩阵,其语法为:G=dctmtx(n)这样,DCT变换可以用F=G*f*GT来表示正变换,用F=GT*f*G来表示逆变换。【例

9、】CLFf=imread('demo.jpg');f=im2double(f);G=dctmtx(512);F=G*f*G'subplot(121),imshow(f,);subplot(122),imshow(log(1+20*abs(F),); 3、基础函数由DCT逆变换:可知,任一图像可以分解成一组N×N基础函数加权求和。基础函数表示为:【例】8×8矩阵的64个基础函数CLF,G=zeros(8,8);for I=0:7, for J=0:7, for m=0:7, if m=0,am=sqrt(1/8);else,am=sqrt(2/8);e

10、nd for n=0:7, if n=0,an=sqrt(1/8);else,an=sqrt(2/8);end G(m+1,n+1)=am*an*cos(pi*(2*m+1)*I/16)*. cos(pi*(2*n+1)*J/16); end end subplot(8,8,I*8+J+1),imshow(G,); endend 图中所示是对于一个8×8的矩阵,相对应的64个基础函数,该矩阵的DCT就是这64个基础函数按F(u,v)系数线性叠加而成。从左上角开始,到右下角,频率增长。4、应用JPG数据压缩算法中,将输入图像分解成8×8的图像块,然后对每个图像块进行DCT变换,保留64个DCT系数部分,然后通过压缩保存数据。还原时,进行DCT逆变换重构图像。【例】I1=im2double(imread('demo.jpg');T=dctmtx(8);B=blkproc(I1,8 8,'P1*x*P2',T,T');mask=1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论