数字图像处理实验 实验一 数字图像的傅里叶变换
- 格式:doc
- 大小:864.00 KB
- 文档页数:3
课程名称数字图像处理与分析实验项目实验一图像FFT 和DCT变换实验地点实验学时实验类型指导教师实验员专业班级学号姓名年月日教师评语一、实验目的及要求1、了解图像变换的意义和手段;2、熟悉傅里叶变换的孩本性质;3、热练掌握FFT方法反变换;4、通过实验了解二维频谱的分布特点;5、通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。
二、实验原理与内容1、应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2、傅立叶(Fourier)变换的定义对于二维信号,二维Fourier变换定义为:二维离散傅立叶变换为:图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MA TLAB软件实现数字图像傅立叶变换的程序。
三、实验软硬件环境装有MATLAB软件的电脑四、实验过程(实验步骤、记录、数据、分析)1、FFT实验代码:I=imread('11.jpg'); f=I(:,:,1);imshow(f,'InitialMagnification','fit'); %确定像素值的显示范围title('yuantu');F=fft2(f); %二维傅立叶变换F1=fft2(f,256,256);%补零操作的二维傅立叶变换F2=log(abs(F1));%对F1的幅值取对数figure,subplot(1,2,1),imshow(F1,[-1 5],'InitialMagnification','fit'); colormap(jet); title('ftttu256*256'); subplot(1,2,2),imshow(F2,[-1 5],'InitialMagnification','fit'); colormap(jet); title('logabsffttu');figure,imshow(ifft2(F),[ ],'InitialMagnification','fit'); title('iffttu');figure,imshow(ifft2(F1),[ ],'InitialMagnification','fit'); title('iffttu256*256');运行结果:分析:fit的设置把原图以灰度图像输出,由原图和FFT 变换图对比可知,变换之后,灰度变低。
实验报告实验一图像的傅里叶变换(旋转性质)实验二图像的代数运算实验三filter2实现均值滤波实验四图像的缩放朱锦璐04085122实验一图像的傅里叶变换(旋转性质)一、实验内容对图(1.1)的图像做旋转,观察原图的傅里叶频谱和旋转后的傅里叶频谱的对应关系。
图(1.1)二、实验原理首先借助极坐标变换x=rcosθ,y=rsinθ,u=wcosϕ,v=wsinϕ,,将f(x,y)和F(u,v)转换为f(r,θ)和F(w,ϕ).f(x,y) <=> F(u,v)f(rcosθ,rsinθ)<=> F(wcosϕ,wsinϕ)经过变换得f( r,θ+θ。
)<=>F(w,ϕ+θ。
)上式表明,对f(x,y)旋转一个角度θ。
对应于将其傅里叶变换F(u,v)也旋转相同的角度θ。
F(u,v)到f(x,y)也是一样。
三、实验方法及程序选取一幅图像,进行离散傅里叶变换,在对其进行一定角度的旋转,进行离散傅里叶变换。
>> I=zeros(256,256); %构造原始图像I(88:168,120:136)=1; %图像范围256*256,前一值是纵向比,后一值是横向比figure(1);imshow(I); %求原始图像的傅里叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figure(2)imshow(J1,[5 50])J=imrotate(I,45,'bilinear','crop'); %将图像逆时针旋转45°figure(3);imshow(J) %求旋转后的图像的傅里叶频谱J1=fft2(J);F=abs(J1);J2=fftshift(F);figure(4)imshow(J2,[5 50])四、实验结果与分析实验结果如下图所示(1.2)原图像(1.3)傅里叶频谱(1.4)旋转45°后的图像(1.5)旋转后的傅里叶频谱以下为放大的图(1.6)原图像(1.7)傅里叶频谱(1.8)旋转45°后的图像(1.9)旋转后的傅里叶频谱由实验结果可知1、从旋转性质来考虑,图(1.8)是图(1.6)逆时针旋转45°后的图像,对比图(1.7)和图(1.9)可知,频域图像也逆时针旋转了45°2、从尺寸变换性质来考虑,如图(1.6)和图(1.7)、图(1.8)和图(1.9)可知,原图像和其傅里叶变换后的图像角度相差90°,由此可知,时域中的信号被压缩,到频域中的信号就被拉伸。
计算机与信息工程学院验证性实验报告一、实验目的1了解图像变换的意义和手段;2熟悉傅立叶变换的基本性质; 3熟练掌握FFT 变换方法及应用; 4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。
6评价人眼对图像幅频特性和相频特性的敏感度。
二、实验原理1 应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2 傅立叶(Fourier )变换的定义对于二维信号,二维Fourier 变换定义为:2()(,)(,)j ux uy F u v f x y e dxdy π∞∞-+-∞-∞=⎰⎰逆变换:2()(,)(,)j ux uy f x y F u v e dudv π∞∞+-∞-∞=⎰⎰二维离散傅立叶变换为:112()001(,)(,)i k N N j mn N Ni k F m n f i k eNπ---+===∑∑逆变换:112()001(,)(,)i k N N j mn N Nm n f i k F m n eNπ--+===∑∑图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MATLAB软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif’);%读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2); %计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225 %归一化figure; %设定窗口imshow(A); %显示原图像的频谱三、实验步骤1.将图像内容读入内存;2.用Fourier变换算法,对图像作二维Fourier变换;3.将其幅度谱进行搬移,在图像中心显示;4.用Fourier系数的幅度进行Fourier反变换;5.用Fourier系数的相位进行Fourier反变换;6.比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。
数字图像处理中的快速傅里叶变换算法数字图像处理是一门非常重要的学科,它主要关注如何对数字图像进行处理和分析。
在数字图像处理中,傅里叶变换是一种非常重要的工具,在很多领域都有广泛的应用。
特别是在数字信号处理和图像处理领域,傅里叶变换是一种重要的工具,它可以将时域信号转化成频域信号,进行频域分析和处理,帮助我们从中获取更多的信息。
在数字图像处理中,快速傅里叶变换算法是一种非常重要的算法,它拥有很高的计算效率和精度,被广泛应用于数字图像处理中。
一、傅里叶变换傅里叶变换是数学中的一种重要的工具,它可以将任意一个函数分解为一系列正弦波的加权和。
在数字图像处理中,傅里叶变换可以将图像表示为一个二维函数,其中每个分量代表着不同的频率。
通过傅里叶变换,我们可以了解图像中不同颜色和亮度的分布状况,从而帮助我们更好地进行图像处理和分析。
二、快速傅里叶变换算法快速傅里叶变换算法是对传统傅里叶变换进行优化得到的一种算法。
传统的傅里叶变换算法计算复杂度很高,需要进行许多乘法和加法运算,运算时间很长,难以满足实时处理的要求。
为了解决这个问题,人们开发出了快速傅里叶变换算法,它可以有效地缩短傅里叶变换的运算时间,提高计算效率。
快速傅里叶变换算法的基本思想是将傅里叶变换的计算分解为多个较小的傅里叶变换,从而实现快速计算。
这样就可以通过迭代的方式,逐步将傅里叶变换的计算分解为多个较小的傅里叶变换,从而获得更高的计算效率。
快速傅里叶变换算法一般采用分治的思想,将二维傅里叶变换分解为两个一维傅里叶变换,从而实现二维傅里叶变换的计算。
三、应用领域快速傅里叶变换算法被广泛应用于数字图像处理领域。
在图像去噪、图像压缩、图像增强、图像分割等领域,傅里叶变换都有着很广泛的应用。
特别是在数字信号处理和通信领域,傅里叶变换被广泛应用于信号的频域分析和处理,帮助我们了解信号的频域特性和频谱分布状况,从而更好地进行信号处理和分析。
四、总结快速傅里叶变换算法是数字图像处理中非常重要的一种算法,它可以快速、高效地实现傅里叶变换的计算,提升计算效率,满足实时处理的要求。
figure,imshow(abs(iJP)*100);title('相应的傅里叶反变换');B)利用MATLAB软件实现数字图像傅立叶变换的程序B=imread('M.JPG');I=rgb2gray(B);imshow(I);fftI=fft2(I);sfftI=fftshift(fftI);RR=real(sfftI);II=imag(sfftI);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;figure;imshow(A);C)绘制一个二值图像矩阵,并将其傅立叶函数可视化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);figure,imshow(log(abs(F)),[-1 5],'notruesize');colormap(jet);F2=fftshift(F);figure,imshow(log(abs(F2)),[-1 5],'notruesize');colormap(jet);1.离散余弦变换A)使用dct2对图像‘N.jpg’进行DCT变换。
RGB=imread('N.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重构图像并与原图像比较。
实验报告五姓名:胡文松学号:6103413007 班级:生医131实验日期:2016.5.16 实验成绩:实验题目:图像的傅里叶变换一.实验目的(1)熟练掌握图像的快速傅里叶变换及其逆变换。
(2)熟练掌握图像的radon变换及其逆变换。
二.实验原理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
傅里叶变换是将时间域的函数f(t)表示为频率域的函数F(ω)的积分。
一般可称函数f (t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅里叶变换对(transform pair)。
图像傅里叶变换,谱对图像的平移是不敏感的,但它随旋转图像以相同的角度旋转。
图像平移后,他们的频谱不变,但旋转后,其频谱也以以相同的角度旋转。
三.实验内容及结果(1)任意选择一副图像,对图像进行旋转,显示原始图像和旋转后的图像,分别对其进行傅里叶变换,分析原图的傅里叶频谱与旋转后的傅里叶频谱的对应关系。
(2)选择一副图像boy.jpg,使用radon函数和iradon函数构建一个简单图像的投影并重建图像。
源程序和结果:I=phantom(256);figure;subplot(2,2,1);imshow(I);title('原始图像')J=fft2(I);F=abs(J);J1=fftshift(F);subplot(2,2,2);imshow(J1,[5 50]);title('原始图像的傅里叶频谱')K=imrotate(I,315,'bilinear','crop');subplot(2,2,3);imshow(K);title('原始图像进行旋转')K1=fft2(K);M=abs(K1);J2=fftshift(M);subplot(2,2,4);imshow(J2,[5 50]);title('旋转后图像的傅里叶频谱')theta=0:1:179;[R1,xp]=radon(I,theta);figure;subplot(2,2,1);imagesc(theta,xp,R1);xlabel('\theta');ylabel('x\prime' );title('18度');I1=iradon(R1,1);subplot(2,2,2);imshow(I1);title('18度');2.用MATLAB中的iradon函数对获得的投影数据进行滤波反投影重建,获得Shepp-Logan 模型的重建图像I1=iradon(R1,10);I2=iradon(R2,5);I3=iradon(R3,2);I4=iradon(R4,1);figure;subplot(2,2,1);imshow(I1);title('18 angles');subplot(2,2,2);imshow(I2);title('36 angles');subplot(2,2,3);imshow(I3);title('90 angles');subplot(2,2,4);imshow(I4);title('180 angles');四.结果分析从实验结果可知(1)图像旋转后,相应的傅里叶频谱也跟着做相应的旋转,且旋转角度是一样的,时域中信号被压缩,到频域中被拉伸。
实验一 图像的二维离散傅立叶变换一、 实验目的掌握图像的二维离散傅立叶变换以及性质二、 实验要求1) 建立输入图像,在6464的黑色图像矩阵的中心建立1616的白色矩形图像点阵,形成图像文件。
对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。
2) 调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上,比较变换结果。
3) 调整输入图像中白色矩形的尺寸(4040,44),再进行变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上,比较变换结果。
三、 实验仪器设备及软件HP D538、MATLAB四、 实验原理在二维情况下,定义 f(x,y)的傅立叶变换F(u,v) :2()2()(,)(,)(,)(,)j ux vy j ux vy F u v f x y e dxdy f x y F u v e dudv ππ∞∞-+-∞-∞∞∞+-∞-∞==⎰⎰⎰⎰ 它表明了空间频率成分与二维图像信号之间的相互关系对于我们要处理的实际二维图像,其傅氏变换一般是在频率域上有界的,亦即有用成分总是落在一定的频率域范围之内上述的频率域性质的依据在于:一是图像中景物的复杂性具有一定的限度,其中大部分内容是变化不大的区域完全像“雪花”点似的图像没有任何实际意义。
二是人眼对空间复杂性(频率)的分辨率以及显示器的分辨能力都是具有一定限度。
若实变量函数f(x)是绝对可积的,即:且F(u)是可积的,则傅立叶变换对一定存在。
(){}()()[](){}()()[]du ux j u F x f u F dx ux j x f u F ππ2exp 2exp ⎰⎰∞∞-∞∞-==-==1-F xf F如果f(x)考虑为实函数,它的傅立叶变换通常是复数形式,即:()()()u jI u R u F +=也可表为:()()()u j e u F u F φ=若二变量函数f(x,y) 是绝对可积的,即:且F(u,v)是可积的,则傅立叶变换对一定存在。
数字图像处理及MATLAB实现实验四——图像变换1.图像的傅⾥叶变换⼀(平移性质)傅⾥叶变换的平移性质表明了函数与⼀个指数项相乘等于将变换后的空域中⼼移到新的位置,并且平移不改变频谱的幅值。
I=imread('1.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('2.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('3.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));实验结果符合傅⾥叶变换平移性质2.图像的傅⾥叶变换⼆(旋转性质)%构造原始图像I=zeros(256,256);I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐imshow(I)%求原始图像的傅⾥叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figureimshow(J1,[550])%对原始图像进⾏旋转J=imrotate(I,90,'bilinear','crop');figureimshow(J)%求旋转后图像的傅⾥叶频谱J=fft2(I);F=abs(J);J2=fftshift(F);figureimshow(J2,[550])3.图像的离散余弦变换⼀%对cameraman.tif⽂件计算⼆维DCT变换RGB=imread('cameraman.tif');figure(1)imshow(RGB)I=rgb2gray(RGB);%真彩⾊图像转换成灰度图像J=dct2(I);%计算⼆维DCT变换figure(2)imshow(log(abs(J)),[])%图像⼤部分能量集中在左上⾓处figure(3);J(abs(J)<10)=0;%把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像K=idct2(J)/255;imshow(K)4.图像的离散余弦变换⼆% I=imread('1.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('2.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('3.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% %构造原始图像% I=zeros(256,256);% I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐% imshow(I)% %求原始图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J1=fftshift(F);figure% imshow(J1,[550])% %对原始图像进⾏旋转% J=imrotate(I,90,'bilinear','crop');% figure% imshow(J)% %求旋转后图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J2=fftshift(F);figure% imshow(J2,[550])% %对cameraman.tif⽂件计算⼆维DCT变换% RGB=imread('cameraman.tif');% figure(1)% imshow(RGB)% I=rgb2gray(RGB);% %真彩⾊图像转换成灰度图像% J=dct2(I);% %计算⼆维DCT变换% figure(2)% imshow(log(abs(J)),[])% %图像⼤部分能量集中在左上⾓处% figure(3);% J(abs(J)<10)=0;% %把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像% K=idct2(J)/255;% imshow(K)RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000110000001000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000100000000000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);5.图像的哈达玛变换cr=0.5;I=imread('cameraman.tif');I=im2double(I)/255; %将读⼊的unit8类型的RGB图像I转换为double类型的数据figure(1),imshow(I);%显⽰%求图像⼤⼩[m_I,n_I]=size(I); %提取矩阵I的⾏列数,m_I为I的⾏数,n_I为I的列数sizi=8;snum=64;%分块处理t=hadamard(sizi) %⽣成8*8的哈达码矩阵hdcoe=blkproc(I,[sizi sizi],'P1*x*P2',t,t');%将图⽚分成8*8像素块进⾏哈达码变换%重新排列系数CE=im2col(hdcoe,[sizi,sizi],'distinct');%将矩阵hdcode分为8*8互不重叠的⼦矩阵,再将每个⼦矩阵作为CE的⼀列[Y Ind]=sort(CE); %对CE进⾏升序排序%舍去⽅差较⼩的系数,保留原系数的⼆分之⼀,即32个系数[m,n]=size(CE);%提取矩阵CE的⾏列数,m为CE的⾏数,n为CE的列数snum=snum-snum*cr;for i=1:nCE(Ind(1:snum),i)=0;end%重建图像re_hdcoe=col2im(CE,[sizi,sizi],[m_I,n_I],'distinct');%将矩阵的列重新组织到块中re_I=blkproc(re_hdcoe,[sizi sizi],'P1*x*P2',t',t);%进⾏反哈达码变换,得到压缩后的图像re_I=double(re_I)/64; %转换为double类型的数据figure(2);imshow(re_I);%计算原始图像和压缩后图像的误差error=I.^2-re_I.^2;MSE=sum(error(:))/prod(size(re_I));。
计算机科学与技术系实验报告专业名称计算机科学与技术 _____课程名称数字图像处理项目名称Matlab 语言、图像的傅里叶变换班级14 计科2班_________学号23 _____________姓名 _______ 卢爱胜______________同组人员张佳佳、王世兜、张跃文_________实验日期 ________________、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。
)实验目的:1 了解图像变换的意义和手段;2 熟悉傅立叶变换的基本性质;3 熟练掌握FFT 变换方法及应用;4 通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLABS程实现数字图像的傅立叶变换。
6 评价人眼对图像幅频特性和相频特性的敏感度。
实验要求:应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
二、实验内容(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他 )1. 傅立叶( Fourier )变换的定义对于二维信号,二维Fourier 变换定义为:F (u, v) f (x,y)e j2 (ux uy)dxdy逆变换:f (x, y) F (u,v)e j2 (ux uy)dudv二维离散傅立叶变换为:clc;clear alll=imread('Fig0707(a)(Original).'); imshow(l); %title(' 原始图像')fftl=fft2(l); sfftl=fftshift(fftl);RR=real(sfftl); ll=imag(sfftl);% % %%% % 读入原图像文件 显示原图像 二维离散傅立叶变换 直流分量移到频谱中心 取傅立叶变换的实部 取傅立叶变换的虚部 计算频谱幅值A=sqrt(RR.A2+ll.A2); A=(A-mi n(mi n( A)))/(max(max(A))-mi n(mi n( A)))*225;%figure; %imshow(A); %title(' 原始图像的频谱')f1=ifft2(A); %设定窗口 显示原图像的频谱 Fourier 系数的幅度进行 Fourier 系数的相位进行 归一化 Fourier 反变换 Fourier 反变换;d N 1N 1 j2 (m 丄 n 上) F(m, n) —f(i,k)e N NN i o k o 逆变换: d N 1N 1 j2 (m 丄 nl)f(i,k) 1F(m, n)e N NN m 0 n 0 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到 傅立叶变换的芯片,可以实时实现傅立叶变换。
数字图像处理的傅里叶变换1.课程设计目的和意义(1)了解图像变换的意义和手段(2)熟悉傅里叶变换的基本性质(3)热练掌握FFT的方法反应用(4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。
扩展理论知识,培养综合设计能力。
2.课程设计内容(1)熟悉并掌握傅立叶变换(2)了解傅立叶变换在图像处理中的应用(3)通过实验了解二维频谱的分布特点(4)用MATLAB实现傅立叶变换仿真3.课程设计背景与基本原理傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。
从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。
3.1课程设计背景数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
3.2傅里叶变换(1)应用傅里叶变换进行数字图像处理数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。
20世纪20年代,图像处理首次得到应用。
20世纪60年代中期,随电子计算机的发展得到普遍应用。
60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。
利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。
数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。
数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。
本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。
二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。
三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。
这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。
2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。
在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。
3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。
我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。
4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。
我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。
5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。
通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。
四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。
在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。
数字图像中的离散傅里叶变换数字图像中的离散傅里叶变换是一种重要的信号处理技术,它在图像处理领域具有广泛的应用。
通过对数字图像进行傅里叶变换,可以将图像中的空域信息转换为频域信息,从而实现对图像的各种处理和分析。
本文将探讨数字图像中的离散傅里叶变换原理、应用及相关概念。
一、离散傅里叶变换的概念离散傅里叶变换(Discrete Fourier Transform,DFT)是对离散信号进行傅里叶变换的一种方法,它将信号从时域转换到频域。
对于一维离散信号x(n),其DFT定义如下:X(k) = Σ[n=0,N-1] x(n) • exp(-j2πnk/N)其中,X(k)为频域表示的信号,x(n)为时域表示的信号,N为信号的长度,k为频率变量。
离散傅里叶变换将一个长度为N的时域序列映射到一个长度为N的频域序列,其中X(k)表示第k个频率分量的幅度和相位信息。
二、离散傅里叶变换的计算对于一个N点的离散信号,其DFT需要进行N次复数乘法和加法运算,计算复杂度为O(N^2)。
为了提高计算效率,在实际应用中通常采用快速傅里叶变换(Fast Fourier Transform,FFT)算法来计算DFT。
FFT算法是一种高效的计算DFT的方法,其计算复杂度为O(NlogN),极大地提高了计算速度。
三、离散傅里叶变换的应用1. 图像压缩离散傅里叶变换可以将图像从空间域转换到频域,通过保留主要频域信息,可以实现对图像的有损和无损压缩。
JPEG图像压缩算法就是基于DFT的频域压缩方法。
2. 图像滤波在频域中,可以通过滤波器对图像进行频率域滤波。
常见的频域滤波器包括低通滤波器、高通滤波器和带阻滤波器,可以实现图像的模糊、锐化和去噪处理。
3. 图像增强通过频域操作,可以对图像进行增强处理,如对比度增强、边缘增强等。
离散傅里叶变换可以将图像的频域信息与人眼感知的视觉特性相结合,实现对图像质量的提升。
四、离散傅里叶变换的实现在实际应用中,可以借助现有的图像处理库如OpenCV、MATLAB 等实现离散傅里叶变换。
实验报告课程名称:数字图像处理技术实验名称——实验一数字图像基本操作及图像变换实验日期:2012-2-27班级:数媒0902姓名:沈玉婷学号0305090206仪器编号:一、实验目的:1.了解使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2.体会像素概念3.掌握图像文件的各种存储格式,并能实现图像文件的读取与显示4.掌握图像基本操作5. 掌握图像变换技术二、实验要求1. 利用程序实现打开附件中的“lena.bmp”文件或是自己的bmp文件,读取该文件的信息并写到“new.bmp”中。
2. 利用程序实现“lena.bmp”图像的傅里叶变换和反变换。
3. 利用程序实现“lena.bmp”图像的离散余弦变换和反变换。
4. 把实现上面要求的程序发到jsj_chen@邮箱中。
三、实验内容离散余弦变换(DCT)if(m_pImgDataOut!=NULL){delete []m_pImgDataOut;m_pImgDataOut=NULL;}//计算图像每行的字节数intlineByte=(m_imgWidth*m_nBitCount/8+3)/4*4;if(m_nBitCount!=8){AfxMessageBox("只能处理8位灰度图像!");return ;}//分配内存,以保存新图像m_nBitCountOut=m_nBitCount;intlineByteOut=(m_imgWidth*m_nBitCountOut/8+3)/4*4 ;if (!m_pImgDataOut){//为处理后的图像分配内存空间m_pImgDataOut=new unsigned char[lineByteOut*m_imgHeight];}int pixelByte=m_nBitCountOut/8;for(i=0; i<m_imgHeight; i++){for(j=0; j<m_imgWidth*pixelByte; j++)*(m_pImgDataOut+i*lineByteOut+j)= *(m_pImgData+i*lineByteOut+j);}// 赋初值w = 1;h = 1;wp = 0;hp = 0;// 计算进行离散余弦变换的宽度和高度(2的整数次方)while(w * 2 <= m_imgWidth){w *= 2;wp++;}while(h * 2 <= m_imgHeight){h *= 2;hp++;}double *f = new double[w * h];pDctBuff = new double[w * h];double *F = pDctBuff;for(i = 0; i < h; i++) // 行{for(j = 0; j < w; j++) // 列{// 指向DIB第i行,第j个象素的指针pSrc = (unsigned char*)m_pImgData + lineByte * (m_imgHeight - 1 - i) + j;// 给时域赋值f[j + i * w] = *(pSrc);}}for(i = 0; i < h; i++){// 对y方向进行离散余弦变换DCT(&f[w * i], &F[w * i], wp);}// 保存计算结果for(i = 0; i < h; i++){for(j = 0; j < w; j++){f[j * h + i] = F[j + w * i];}}for(j = 0; j < w; j++){// 对x方向进行离散余弦变换DCT(&f[j * h], &F[j * h], hp);}for(i = 0; i < h; i++) // 行{for(j = 0; j < w; j++) // 列{//指向新DIB第i行第j列的像素的指针pDst = m_pImgDataOut + lineByte * (m_imgHeight -1 - i) + j;dTemp = fabs(F[j*h+i]); // 计算频谱// 判断是否超过255if (dTemp > 255){dTemp = 255;}// 复制新DIB位图的像素值*pDst=(BYTE)(dTemp);}}m_imgWidthOut=m_imgWidth;m_imgHeightOut=m_imgHeight;delete[] f;离散余弦反变换(IDCT)LONG count; // 离散余弦反变换点数int i; // 循环变量double dTemp, d0;count = 1<<r; // 计算离散余弦变换点数ComplexNumber *array = new ComplexNumber[count*2];memset(array, 0, sizeof(ComplexNumber) * count * 2); // 赋初值为0// 将频域变换后点写入数组arrayfor(i=0;i<count;i++){array[i].real = (float)(F[i] * cos(i*PI/(count*2)));array[i].imag = (float)(F[i] * sin(i*PI/(count*2)));}IFFT1D(array, count * 2);// 调用快速傅立叶反变换// 调整系数dTemp = sqrt(2.0/count);d0 = (sqrt(1.0/count) - dTemp) * F[0];for(i = 0; i < count; i++){f[i] = d0 + array[i].real * dTemp * 2 * count;}delete[] array;四、运行情况傅里叶变换与傅里叶反变换离散余弦变换与反变换五、实验体会(包括对于本次实验的小结,实验过程中碰到的问题等)通过本次实验,在本次实验中,我感受各种不同的灰度变换方法对最终图像效果的影响。
数字图像处理实验报告重庆邮电⼤学《数字图像处理》课程上机实验学院⽣物信息学院专业⽣物医学⼯程班级 0611302姓名李霞学号 2013211957实验⼀MATLAB数字图像处理初步⼀、实验⽬的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利⽤MATLAB来获取图像的⼤⼩、颜⾊、⾼度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储⼀幅图像的⽅法。
5.图像间如何转化。
⼆、实验原理及知识点1、数字图像的表⽰和类别⼀幅图像可以被定义为⼀个⼆维函数f(x,y),其中x和y是空间(平⾯)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是⽤来表⽰⿊⽩图像亮度的⼀个术语,⽽彩⾊图像是由单个⼆维图像组合形成的。
例如,在RGB彩⾊系统中,⼀幅彩⾊图像是由三幅独⽴的分量图像(红、绿、蓝)组成的。
因此,许多为⿊⽩图像处理开发的技术适⽤于彩⾊图像处理,⽅法是分别处理三副独⽴的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的⼀幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所⽰。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本⾝⼗分适于表达图像,矩阵的元素和图像的像素之间有着⼗分⾃然的对应关系。
根据图像数据矩阵解释⽅法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)⼆值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像⼀幅亮度图像是⼀个数据矩阵,其归⼀化的取值表⽰亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
《数字图像处理》实验内容及要求实验内容一、灰度图像的快速傅立叶变换1、 实验任务对一幅灰度图像实现快速傅立叶变换(DFT ),得到并显示出其频谱图,观察图像傅立叶变换的一些重要性质。
2、 实验条件微机一台、vc++6。
0集成开发环境。
3、实验原理傅立叶变换是一种常见的图像正交变换,通过变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较少的数据量表示原始图像。
二维离散傅立叶变换的定义如下:112()00(,)(,)ux vy M N j M Nx y F u v f x y eπ---+===∑∑傅立叶反变换为:112()001(,)(,)ux vy M N j M Nu v f x y F u v eMNπ--+===∑∑式中变量u 、v 称为傅立叶变换的空间频率。
图像大小为M ×N.随着计算机技术和数字电路的迅速发展,离散傅立叶变换已经成为数字信号处理和图像处理的一种重要手段。
但是,离散傅立叶变换需要的计算量太大,运算时间长。
库里和图基提出的快速傅立叶变换大大减少了计算量和存储空间,因此本实验利用快速傅立叶变换来得到一幅灰度图像的频谱图。
快速傅立叶变换的基本思路是把序列分解成若干短序列,并与系数矩阵元素巧妙结合起来计算离散傅立叶变换.若按照奇偶序列将X(n)进行划分,设:()(2)()(21)g n x n h n x n =⎧⎨=+⎩ (n=0,1,2, (12)-)则一维傅立叶变换可以改写成下面的形式:1()()N mnNn X m x n W -==∑11220()()N N mn mnN N n n g n W h n W --===+∑∑ 1122(2)(21)(2)(21)NN m n m n N N n n x n W x n W --+===++∑∑1122022(2)(21)NN mn mn mN N N n n x n W x n W W --===++∑∑ =G(m)+mN W H(m)因此,一个求N 点的FFT 可以转换成两个求2N点的 FFT 。
数字图像处理实验指导书电气信息工程系实验中心2008年8月目 录实验一、数字图像获取实验二、图像的傅立叶变换实验三、图像增强实验四、图像压缩实验一、数字图像获取一、实验目的1.掌握使用扫描仪等数字化设备以及计算机获取数字图像的方法;2.修改图像的存储格式。
二、实验仪器1.计算机;2.扫描仪(或数码相机、数字摄像机)及其驱动程序盘;3.图像处理软件(画图,photoshop, Microsoft photo edit等);4.记录用的笔、纸。
三、 实验内容用扫描仪获取图像也是图像的数字化过程的方法之一,扫描仪按种类可以分为手持扫描仪,台式扫描仪和滚筒式扫描仪(鼓形扫描仪)。
扫描仪的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。
各类扫描仪都标明了它的光学分辨率和最大分辨率。
分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。
扫描仪工作时,首先由光源将光线照在欲输入的图稿上,产生表示图像特征的反射光(反射稿)或透射光(透射稿)。
光学系统采集这些光线,将其聚焦在CCD上,由CCD将光信号转换为电信号,然后由电路部分对这些信号进行A/D转换及处理,产生对应的数字信号输送给计算机。
当机械传动机构在控制电路的控制下,带动装有光学系统和CCD的扫描头与图稿进行相对运动,将图稿全部扫描一遍,一幅完整的图像就输入到计算机中去了。
图1.1扫描仪的工作原理扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。
为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。
目录实验一:数字图像的基本处理操作 (2)1。
1:实验目的 (2)1。
2:实验任务和要求 (2)1.3:实验步骤和结果 (2)1。
4:结果分析 (6)实验二:图像的灰度变换和直方图变换 (7)2.1:实验目的 (7)2.2:实验任务和要求 (7)2。
3:实验步骤和结果 (7)2。
4:结果分析 (11)实验三:图像的平滑处理 (12)3.1:实验目的 (12)3。
2:实验任务和要求 (12)3。
3:实验步骤和结果 (12)3。
4:结果分析 (16)实验四:图像的锐化处理 (17)4.1:实验目的 (17)4.2:实验任务和要求 (17)4。
3:实验步骤和结果 (17)4.4:结果分析 (19)实验一:数字图像的基本处理操作1.1:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
1。
2:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题.3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
1.3:实验步骤和结果1.对实验任务1的实现代码如下:a=imread(’d:\tp.jpg’);i=rgb2gray(a);I=im2bw(a,0。
5);subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title(’灰度图像’);subplot(1,3,3);imshow(I);title('二值图像’);subplot(1,3,1);imshow(a);title('原图像');结果如图1。
数字图像处理基础实验
姓名:毛幸林
学号:201013803
华北水利水电学院
信息工程学院
实验一数字图像的傅里叶变换
一.实验设备
1.PC机一台;
2.软件MATLAB;
二.实验目的
1、了解图像变换的意义和手段;
2、熟悉傅里叶变换的原理及性质;
3、熟悉二维频谱的分布特点;
三.实验原理
傅里叶变换是线性系统分析的一个有力工具,它建立了空间域与频域间的联系,具有明确的物理意义,能够能直观、方便地解决许多图像处理问题。
四.实验步骤
1)启动MATLAB程序,编制相应的程序
2)对不同图像做离散傅里叶变换,显示其频谱
3)讨论不同的图像内容与FFT频谱之间的对应关系
4)记录和整理实验报告
五.实验报告内容
1、实验过程
打开计算机,安装和启动MATLAB程序;将待处理的图像文件放置在MTALAB 的安装目录中“work”文件夹中;
编写如下程序显示不同图像的频谱:
I = imread('panda.gif');%读取图像文件
imshow(I);%显示原图像
F=fft2(I);%二维离散傅里叶变换
SF=fftshift(F);%频谱搬移,直流分量移到频谱中心
RR=real(SF);%傅里叶变换的实部
II=imag(SF);%傅里叶变换的虚部
A=sqrt(RR.^2+II.^2);%计算幅度谱
B=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure;%创建显示窗口
imshow(B);%显示图像的频谱
2、实验的原始图像和结果图像
1。