收藏 分销(赏)

数字图像处理作业.docx

上传人:s4****5z 文档编号:8728076 上传时间:2025-02-27 格式:DOCX 页数:7 大小:99.27KB 下载积分:10 金币
下载 相关 举报
数字图像处理作业.docx_第1页
第1页 / 共7页
数字图像处理作业.docx_第2页
第2页 / 共7页


点击查看更多>>
资源描述
数字图像处理作业 机电工程学院 学号 姓名 题目:数字图像处理的频域变换有哪些?是对其中三种进行原理分析(含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',T,T);%将图像分割为8*8的子图像进行FFT coevar=im2col(htcoe,[8 8],'distinct');%降变换系数矩阵重新排列 coe=coevar; [y,ind]=sort(coevar); [m,n]=size(coevar);%根据压缩比确定要变0的系数个数 三.离散余弦变换(DCT) 图像处理中常用的正交变换除了傅里叶变换外,还有其它变换。在图像处理中常用到的有离散余弦变换等。 (1)一维离散余弦变换 一维离散余弦变换的定义由下式表示: 设{f(x)|x=0, 1, …, N-1}为离散的信号列。 (u, x=0, 1, 2, …, N-1) 式中F(u)是第u个余弦变换系数,是广义频率变量,u=1,2,3,...N-1;f(x是时域N点实序列. 一维离散余弦反变换由下式表示: 式中, x, u=0, 1, 2, …, N-1。 一维DCT变换实际上就是将信号f(x)分解成直流分量(u=0),基波分量(u=1)和各次谐波分量(u>1),将信号的分析从时域转移到频域。 (2)二维离散余弦变换 二维DCT定义如下:设f(x, y)为M×N的数字图像矩阵,则 式中: x, u=0, 1, 2, …, M-1; y, v=0, 1, 2, …, N-1。 二维DCT逆变换定义如下: 式中:x, u=0, 1, 2, …, M-1; y, v=0, 1, 2, …, N-1。 通常根据可分离性, 二维DCT可用两次一维DCT来完成, 其算法流程与DFT类似, 即 (3)MATLAB实现数字图像离散余弦变换的程序示例 计算并显示真彩图像余弦变换的MATLAB程序如下: Subplot(2,1,1); RGB=imread('image2.jpg'); %装入真彩图像 imshow(RGB); %显示彩色图像 GRAY=rgb2gray(RGB); %将真彩图像转换为灰度图像imshow(GRAY); %显示灰度图像如图3.10(a)所示 title('原始图像'); DCT=dct2(GRAY); %进行余弦变换 subplot(2,1,2); imshow(log(abs(DCT)),[ ]); %显示余弦变换如图3.10(b)所示 title('离散余弦变换');
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 社会民生

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服