- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字图像处理作业 机电工程学院学号 姓名 题目:数字图像处理的频域变换有哪些?是对其中三种进行原理分析(含MATLAB程序)。数字图像处理的频域变换有积分变换,离散傅里叶变换(包括一维离散傅里叶变换,一维快速傅里叶变换,二维离散傅里叶变换和二维快速傅里叶变换),正交变换,离散余弦变换,沃尔什变换和哈达玛变换,哈尔变换,,K-L变换,霍特林变换,拉东变换和小波变换等。下面就离散傅里叶变换,哈达玛变换和离散余弦变换进行原理分析:一. 离散傅里叶变换(DFT)傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立叶变换。(1)二维离散傅里叶变换设f(x,y)(x=0,1,...,M-1;y=0,1,...,N-1)是一幅M×N的图像,其二维离散傅立叶变换(DFT)为: 逆变换为:式中, 在DFT变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为:x,y为空间域采样值,u,v为频率采样值,F(u,v)称为离散信号f(x,y)的频谱。(2)二维快速离散傅里叶变换快速傅里叶变换(FFT)并不是一种新的变换,它是离散傅里叶变换(DFT)的一种算法。这种方法是在分析离散傅里叶变换(DFT)中的多余运算的基础上,进而消除这些重复工作的思想指导下得到的,所以在运算中大大节省了工作量,达到了快速的目的。基于二维离散傅里叶变换的分离性,二维离散FFT算法可以用两个一维FFT算法来实现。每一列求变换再乘以N再对F(x,v)每1行求傅里叶变换 求的逆变换得:图表1由2步1-D变换计算2-D变换(3)MATLAB实现数字图像傅立叶变换的程序示例[I,map]=imread(‘原图像名’); %读入原图像文件figure(1); imshow(I, map); %设定窗口,显示原图像 colorbar; % colorbar 函数用显示图像的颜色条J = fft2(I); % fft2 函数用于数字图像的二维傅立叶变换K = fftshift(J); % 一般在计算图形函数的傅立叶变换时,坐标原点在函数图形的中心位置处,而计算机在对图像执行傅立叶变换时是以图像的左上角为坐标原点。所以使用函数fftshift进行修正,使变换后的直流分量位于图形的中心RR=real(K); %取傅立叶变换的实部II=imag(K); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2); %计算频谱幅值A=(A-min(min(A)))/ (max(max(A))-min(min(A)))*225; %归一化figure(2); imshow(A,[]); %设定窗口,显示原图像的频谱colorbar;N=ifft2(J)/255; % ifft2 函数用于数字图像的二维傅立叶反变换figure(3); imshow(N,[]);colorbar;二.哈达玛变换(1)一维离散哈达玛变换当N=2n,一维哈达玛正变换核与反变换核相同,为 因此,一维哈达玛变换对可表示为 (u=0,1,2,...,N-1 )( ) 哈达玛变换核除了 因子之外,由一系列的+1和-1组成。如N=8时的哈达玛变换核用矩阵表示为: 由此矩阵可得出一个非常有用的结论,即 2N 阶的哈达玛变换矩阵可由N阶的变换矩阵按下述规律形成 而最低阶(N=2)的哈达玛变换矩阵为 利用这个性质求N阶(N=2n)的哈达玛变换矩阵要比直接用定义式来求此矩阵速度快的多,此结论提供了一种快速哈达玛变换(FHT)。 (2)二维离散哈达玛变换二维离散哈达玛变换的正变换核和反变换核相同,为 这里M=2m,N=2n。则对应的二维哈达变换对可表示为: ( u=0,1,2,...,M-1;v=0,1,2,...,N-1) 和 (x=0,1,2,...,M-1;v=0,1,2,...,N-1 ) 可以看出,二维离散哈达玛变换的正反变换核具有可分离性,因此可以通过两次一维变换来实现一个二维变换。 (3)MATLAB实现数字图像离散一维哈达玛变换的程序示例clc;cr=0.5;I=imread(8.tif);I1=double(I)/255;%图像为256级灰度图像,对图像进行归一化操作subplot(1,2,1);imshow(I1);xlabel((a) 原始图像);%显示原始图像disp(原始图像的大小为:);whos(I1)%对图像进行哈达玛变换T=hadamard(8);%产生8*8的哈达玛矩阵htcoe=blkproc(I1,[8 8],P1*x*P2,
文档评论(0)