当前位置:文档之家› 实验一 图像的频域变换

实验一 图像的频域变换

实验一   图像的频域变换
实验一   图像的频域变换

实验一 图像的频域变换

一 实验目的

1.掌握MATLAB 软件的运用,熟练掌握建立、保存、运行、调试m 文件。

2.初步了解MATLAB 软件中图像处理工具箱的使用和功能。

3.熟练掌握图像文件的读取及显示方法。

4.掌握离散傅立叶变换和离散余弦变换的实现方法,了解DFT 、DCT 的幅度分布特性,从而加深对频域变换的认识。

5. 熟悉图像的小波变换、小波变换的频域分布和小波图像重构,了解小波变换在图像处理中的应用。

二 实验原理

1. 二维离散傅立叶变换

()[]()()∑∑-=-=??? ??+-==1010

2,1,,F M x N y N uy M ux j e y x f MN v u F y x f π ()[]()()∑∑-=-=??? ??+-==101021,,,M u N v N uy M ux j e v u F y x f v u F F π

2. 离散余弦变换

设()y x f ,为M N ?的数字矩阵,则二维DCT 变换对定义如下:

()()()()()()∑∑-=-=++=1010212cos 212cos

,,N x N y N

v y N u x y x f v a u a v u C ππ 式中:u ,v=0,1,2,3,…,N-1。

()()()()()()N

v y N u x v u C v a u a y x f N u N v 212cos 212cos

,,1010ππ++=∑∑-=-= 式中:x ,y=0,1,2,3,…,N-1。

3. 二维小波变换

在计算机应用中,连续小波应该离散化,针对连续尺度参数a和连续平移参数τ,而不是针对时间变量t的。为了使小波变换具有可变化的时间和频率分辨率,常常需要改变尺度参数a和平移参数τ的大小,即采用动态采样网络,以使小波变换具有“变焦距”的功能。

二维离散小波变换是一维离散小波变换的推广,其实质上是将二维信号在不同尺度上的分解,得到原始信号的近似值和细节值。由于信号时二维的,因此分解也是二维的。分解的结果为:近似分量A、水平细节分量H、垂直细节分量D。童谣也可以利用二维小波分解的结果在不同尺度上重构信号。

三实验内容

1、读入一副图像,并生成图像的直方图;

程序清单:

clear

close all

figure (1)

I=imread('123456.png');

imhist(I)

title('直方图');

程序运行结果

2、对一幅图像做傅里叶变换得到其频谱;然后对频谱进行频率位移,移到窗口

中央,并显示出频率变换后的频谱图。

程序清单:

I=imread('123456.png');

figure (2)

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)))*255; figure (3)

imshow(A);

程序运行结果:

3对一副图像进行离散余弦变换,并显示变换结果。实验清单:

I1=imread('123456.png');

figure (4)

imshow(I1);

I2=dct2(I1);

figure (5)

imshow(log(abs(I2)),[])

程序运行结果:

4 对一副图像进行二维小波变换,并基于变换对图像进行分层量化编码。显示变换结果及图像压缩结果。

实验清单:

clear

clc

figure (6)

X=imread('123456.png');

[c,s]=wavedec2(X,2,'bior3.7'); cal=appcoef2(c,s,'bior3.7',1); ch1=detcoef2('h',c,s,1);

cv1=detcoef2('v',c,s,1);

cd1=detcoef2('d',c,s,1);

a1=wrcoef2('a',c,s,'bior3.7',1); h1=wrcoef2('h',c,s,'bior3.7',1); v1=wrcoef2('v',c,s,'bior3.7',1); d1=wrcoef2('d',c,s,'bior3.7',1); c1=[a1,h1;v1,d1];

ca1=appcoef2(c,s,'bior3.7',1); ca1=wcodemat(ca1,400,'mat',0); ca1=0.5*ca1;

ca2=appcoef2(c,s,'bior3.7',2); ca2=wcodemat(ca2,400,'mat',0); ca2=0.25*ca2;

subplot(221)

imshow(X)

title('原始图像')

disp('原始图像的大小')

whos('X')

subplot(222)

c1=uint8(c1);

imshow(c1)

title('显示分频信息')

subplot(223)

disp('第一次压缩图像的大小')

ca1=uint8(ca1);

whos('cal')

imshow(ca1);

title('第一次压缩的图像')

disp('第二次压缩图像的大小')

subplot(224)

ca2=uint8(ca2);

imshow(ca2);

title('第二次压缩图片的大小')

whos('ca2')

程序运行结果:

原始图像的大小

Name Size Bytes Class

X 896x640 573440 uint8 array Grand total is 573440 elements using 573440 bytes

第一次压缩图像的大小

Name Size Bytes Class

cal 455x327 1190280 double array Grand total is 148785 elements using 1190280 bytes

第二次压缩图像的大小

Name Size Bytes Class

ca2 235x171 40185 uint8 array Grand total is 40185 elements using 40185 bytes

四思考题

1.读取黑白图像、256灰度图像、真彩色图像时,数据矩阵有何不同?

灰度图像,二值图像能够显示出矩阵,如果是彩色图像,其实是三个灰度图像叠加而成。

一幅m×n大小的图像,是由m×n个明暗度不等的像素组成的。数字图像中各个像素所具有的明暗程度由灰度值所标识。一般将白色的灰度值定义为255,黑色灰度值定义为0,而由黑到白之间的明暗度均匀地划分为256个等级。对于黑白图像,每个像素用一个字节数据来表示,而在彩色图像中,每个像素需用三个字节数据来表述。彩色图像可以分解成红(R)、绿(G)、蓝(B)三个单色图像,任何一种颜色都可以由这三种颜色混合构成。在图像处理中,彩色图像的处理通常是通过对其三个单色图像分别处理而得到的。

图像灰度变换实验报告

图像灰度变换报告 一.实验目的 1.学会使用Matlab ; 2.学会用Matlab 软件对图像进行灰度变换,观察采用各种不同灰度变换发法对最终图像效果的影响; 二.实验内容 1.熟悉Matlab 中的一些常用处理函数 读取图像:img=imread('filename'); //支持TIF,JPEG,GIF,BMP,PNG 等文件格式。 显示图像:imshow(img,G); //G 表示显示该图像的灰度级数,如省略则默认为256。 保存图片:imwrite(img,'filename'); //不支持GIF 格式,其他与imread 相同。 亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in 至high_in 之间的值映射到low_out 至high_out 之 间,low_in 以下及high_in 以上归零。 绘制直方图:imhist(img); 直方图均衡化:histeq(img,newlevel); //newlevel 表示输出图像指定的灰度级数。 2.获取实验用图像:rice.jpg. 使用imread 函数将图像读入Matlab 。 3 .产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤ r ≤ 0.65 1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg 进行处理,使用imwrite 函数保存处理后的新图像。 4.产生灰度变换函数T2,使得: s = 5.用T2imwrite 保存处理后的新图像。 6.分别用 s = r 0.6; s = r 0.4; s = r 0.3 对kids.tiff 图像进行处理。为简便起见,使用Matlab 中的imadjust 函数,最后用imwrite 保存处理后的新图像。 7.对circuit.jpg 图像实施反变换(Negative Transformation )。s =1-r; 使

图形学实验报告

计 算 机 图 形 学 实验指导书 学号:1441901105 姓名:谢卉

实验一:图形的几何变换 实验学时:4学时 实验类型:验证 实验要求:必修 一、实验目的 二维图形的平移、缩放、旋转和投影变换(投影变换可在实验三中实现)等是最基本的图形变换,被广泛用于计算机图形学的各种应用程序中,本实验通过算法分析以及程序设计实验二维的图形变换,以了解变换实现的方法。如可能也可进行裁剪设计。 二、实验内容 掌握平移、缩放、旋转变换的基本原理,理解线段裁剪的算法原理,并通过程序设计实现上述变换。建议采用VC++实现OpenGL程序设计。 三、实验原理、方法和手段 1.图形的平移 在屏幕上显示一个人或其它物体(如图1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移动Tx和Ty,则有 x’=x+Tx y’=y+Ty 其中:x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。其交互方式可先定义键值,然后操作功能键使其移动。 2.图形的缩放 在屏幕上显示一个帆船(使它生成在右下方),使其相对于屏幕坐标原点缩小s倍(即x方向和y方向均缩小s倍)。则有: x’=x*s y’=y*s 注意:有时图形缩放并不一定相对于原点,而是事先确定一个参考位置。一般情况下,参考点在图形的左下角或中心。设参考点坐标为xf、yf则有变换公式x’=x*Sx+xf*(1-Sx)=xf+(x-xf)*Sx y’=y*Sy+yf*(1-Sy)=yf+(y-yf)*Sy 式中的x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。当Sx>1和Sy>1时为放大倍数,Sx<1和Sy<1时为缩小倍数(但Sx和Sy

图像的傅立叶变换与频域滤波

实验四 图像的傅立叶变换与频域滤波 一、 实验目的 1了解图像变换的意义和手段; 2熟悉傅里叶变换的基本性质; 3熟练掌握FFT 方法的应用; 4通过实验了解二维频谱的分布特点; 5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。 6、掌握怎样利用傅立叶变换进行频域滤波 7、掌握频域滤波的概念及方法 8、熟练掌握频域空间的各类滤波器 9、利用MATLAB 程序进行频域滤波 二、 实验原理 1应用傅立叶变换进行图像处理 傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。 2傅立叶(Fourier )变换的定义 对于二维信号,二维Fourier 变换定义为 : ??∞ ∞ -+-==dxdy e y x f v u F y x f F vy ux j )(2),(),()},({π

二维离散傅立叶变换为: ∑ ∑-=+--==10)(21 01 ),(),(N y N y u M x u j M x MN e y x f v u F π 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。 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); %显示原图像的频谱 域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和 高通滤波器。频域低通过滤的基本思想: G(u,v)=F(u,v)H(u,v) F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤

数字图像处理(频域增强)

数字图像处理(频域增强)

数字图像处理图像频域增强方法的研究 姓名: 班级: 学号:

目录一.频域增强的原理 二.频域增强的定义及步骤三.高通滤波 四. MATLAB程序实现 五.程序代码 六.小结

一.频域图像的原理 在进行图像处理的过程中,获取原始图像后,首先需要对图像进行预处理,因为在获取图像的过程中,往往会发生图像失真,使所得图像与原图像有某种程度上的差别。在许多情况下,人们难以确切了解引起图像降质的具体物理过程及 其数学模型,但却能估计出使图像降质的一些可能原因,针对这些原因采取简单易行的方法,改善图像质量。图像增强一般不能增加原图像信息,只能针对一些成像条件,把弱信号突出出来,使一些信息更容易分辨。图像增强的方法分为频域法和空域法,空域法主要是对图像中的各像素点进行操作;而频域法是在图像的某个变换域内,修改变换后的系数,例如傅立叶变换、DCT 变换等的系数,对 图像进行操作,然后再进行反变换得到处理后的图像。 MATLAB矩阵实验室(Matrix Laboratory)的简称,具有方便的数据可视化功能,可用于科学计算和工程绘图。它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。它具有功能丰富的工具箱,不但能够进行信号处理、语音处理、数值运算,而且能够完成各种图像处理功能。本文利用MATLAB工具来研究图像频域增强技术。图像增强是为了获得更好质量的图像,通过各种方法对图像进行处理,例如图像边缘检测、分割以及特征提取等技术。图像增强的方法有频域处理法与空域处理法,本文主要研究了频域处理方法中的滤波技术。从低通滤波、高通滤波、同态滤波三个方面比较了图像增强的效果。文章首先分析了它们的原理,然后通过MATLAB软件分别用这三种方法对图像进行处理,处理后使图像的对比度得到了明显的改善,增强了图像的视觉效果。

实验一Matlab图像处理基础及图像灰度变换

实验一Matlab图像处理基础及图像灰度变换 一、实验目的 了解Matlab平台下的图像编程环境,熟悉Matlab中的DIP (Digital Image Processing)工具箱;掌握Matlab中图像的表示方法,图像类型、数据类型的种类及各自的特点,并知道怎样在它们之间进行转换。掌握Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。 二、实验内容 1.从硬盘中读取一幅灰度图像; 2.显示图像信息,查看图像格式、大小、位深等内容; 3.用灰度面积法编写求图像方图的Matlab程序,并画图; 4.把第3步的结果与直接用Matlab工具箱中函数histogram的结果进行比较,以衡量第3步中程序的正确性。 5.对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前后图像效果的变化。 三、知识要点 1.Matlab6.5支持的图像图形格式 TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中GIF不支持写。 2.与图像处理相关的最基本函数 读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 3.Matlab6.5支持的数据类 double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical. 4.Matlab6.5支持的图像类型 Intensity images, binary images, indexed images, RGB image 5.数据类及图像类型间的基本转换函数 数据类转换:B = data_class_name(A);

图像处理实验报告

实验报告 实验课程名称:数字图像处理 班级:学号:姓名: 注:1、每个实验中各项成绩按照10分制评定,每个实验成绩为两项总和20分。 2、平均成绩取三个实验平均成绩。 2016年 4 月18日

实验一 图像的二维离散傅立叶变换 一、实验目的 掌握图像的二维离散傅立叶变换以及性质 二、实验要求 1) 建立输入图像,在64?64的黑色图像矩阵的中心建立16?16的白色矩形图像点阵, 形成图像文件。对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。 2) 调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中 心化)都显示于屏幕上,比较变换结果。 3) 调整输入图像中白色矩形的尺寸(40?40,4?4),再进行变换,将原始图像及变 换图像(三维、中心化)都显示于屏幕上,比较变换结果。 三、实验仪器设备及软件 HP D538、MATLAB 四、实验原理 傅里叶变换作为分析数字图像的有利工具,因其可分离性、平移性、周期性和共轭对称性可以定量地方分析数字化系统,并且变换后的图像使得时间域和频域间的联系能够方便直观地解决许多问题。实验通过MATLAB 实验该项技能。 设),(y x f 是在空间域上等间隔采样得到的M ×N 的二维离散信号,x 和y 是离散实变量,u 和v 为离散频率变量,则二维离散傅里叶变换对一般地定义为 ∑∑ -=-=+-= 101 )],( 2ex p[),(1 ),(M x N y N yu M xu j y x f MN v u F π,1,0=u …,M-1;y=0,1,…N-1 ∑∑-=-=+=101 )],( 2ex p[),(),(M x N y N uy M ux j v u F y x f π ,1,0=x …,M-1;y=0,1,…N-1 在图像处理中,有事为了讨论上的方便,取M=N ,这样二维离散傅里叶变换对就定义为 ,]) (2ex p[),(1 ),(101 ∑∑ -=-=+- = N x N y N yu xu j y x f N v u F π 1,0,=v u …,N-1 ,]) (2ex p[ ),(1 ),(101 ∑∑-=-=+= N u N v N vy ux j v u F N y x f π 1,0,=y x ,…,N-1 其中,]/)(2exp[N yv xu j +-π是正变换核,]/)(2exp[N vy ux j +π是反变换核。将二维离散傅里叶变换的频谱的平方定义为),(y x f 的功率谱,记为 ),(),(|),(|),(222v u I v u R v u F v u P +== 功率谱反映了二维离散信号的能量在空间频率域上的分布情况。 五、实验步骤、程序及结果: 1、实验步骤: (1)、编写程序建立输入图像; (2)、对上述图像进行二维傅立叶变换,观察其频谱 (3)、改变输入图像中白框的位置,在进行二维傅里叶变换,观察频谱;

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

图像傅里叶变换的物理意义

傅里叶变换在图像处理中的作用 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数 傅立叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由z=f(x,y)来表示。由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们可以通过观察图像得知物体在三维空间中的对应关系。为什么要提梯度?因为实际上对图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际上图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰 注: 1、图像经过二维傅立叶变换后,其变换系数矩阵表明: 若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。 2 、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大) 傅立叶变换在图像处理中有非常非常的作用。因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法, 比如离散余弦变换,gabor与小波在图像处理中也有重要的分量。 印象中,傅立叶变换在图像处理以下几个话题都有重要作用: 1.图像增强与图像去噪 绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声; 边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘; 2.图像分割之边缘检测 提取图像高频分量

数字图像处理频域增强

中国地质大学(武汉) 数字图像处理上机实习 (第三专题) 学生姓名: 班级: 学号: 指导老师:

实验内容 一图计算图象的傅氏变换频谱函数 要求(1-6):设计图象f6(x,y) 为3*30*30/256*256,居中垂直排列,选用Matlab函数直接调用实现,重点观察空域图象和频域频谱的对应关系; 补充完成:设计120*30/256*256,观察空域图象和频域频谱的对应关系。 1.算法设计 2.程序代码 %观察空域图象和频域频谱的对应关系 %设计图象f6(x,y) 为3*30*30/256*256 f=zeros(256,256); f([30:60],[113:143])=1; f([90:120],[113:143])=1; f([150:180],[113:143])=1; subplot(221);imshow(f); % 设计图象f2(x,y)为120*30/256*256,并作fft变换 f2 = zeros(256,256); f2(114:143,69:188) = ones(30,120); subplot(223);imshow(f2); %二维傅里叶变换 F=fft2(f); F2 = fft2(f2); %绘制fft图 subplot(222);imshow(fftshift(log(abs(F)))); %title('频谱图') subplot(224);imshow(fftshift(log(abs(F2)))); %title('频谱图(量化)') figure subplot(121);mesh(fftshift(abs(F))); subplot(122);mesh(fftshift(abs(F2))); 3.结果分析 (1)空域图象和频域频谱对比 (2)频谱图(量化)对比 二计算显示图象的频谱函数 要求(2-6):对f6(x,y)的离散余弦变换,显示其频谱函数 补充完成:实现离散傅立叶变换、离散余弦变换、Walsh变换和Hadamard变换,比较四种变换所得到的频谱。 1.程序代码 clc; clear; f=zeros(256,256); f([30:60],[113:143])=1;

实验二 图像变换

实验二图像变换 一.实验目的及要求 1.利用MATLAB研究数字图像的傅立叶变换、离散余弦变换等频域变换算法; 2.掌握MATLAB频域变换函数的使用方法; 3.了频域变换的基本应用。 二、实验内容 1.傅立叶变换 研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。 (1) 简单人工二值图像 clear all, close all f = zeros(50,50); f(15:35,23:28) = 1; figure(1), imshow(f,'notruesize') F = fft2(f,128,128); F1 = fftshift(F); figure(2), imshow(log(abs(F1)), [-1 5]); colormap(gray); colorbar figure(3), mesh(1:128,1:128, abs(F1)); colormap(gray); colorbar F2 = fft2(imrotate(f,90),128,128); F3 = fftshift(F2); figure(4), imshow(imrotate(f,90),'notruesize') figure(5), imshow(log(abs(F3)), [-1 5]); colormap(gray); colorbar figure(6), mesh(1:128,1:128, abs(F3)); colormap(gray); colorbar (2)实际图像傅立叶变换 选取一副图像(rice.png),进行离散傅里叶变换,再对其进行一定的角度旋转,进行傅里叶变换. 2.离散余弦变换(DCT) (1) 对cameraman.tif图像的离散余弦变换及逆变换重建 (2)对lena.jpg进行离散余弦变换,并对其进行压缩解压,观察其结果; 三、实验设备 1.PIII以上微机; 2.MATLAB6.5; 四、预习与思考 1.预习实验内容,阅读教材熟悉实验原理; 2.查阅资料,熟悉实验中涉及的有关函数。 五、实验报告要求 1.简述试验的目的和试验原理;

图像几何变换

图像几何变换 一、实验目的 (1)学习几种常见的图像几何变换,并通过实验体会几何变换的效果; (2)掌握图像平移、剪切、缩放、旋转、镜像、错切等几何变换的算法原理及编 程实现 (3)掌握matlab编程环境中基本的图像处理函数 (4)掌握图像的复合变换 二、涉及知识点 (1)图像几何变换不改变图像像素的值,只改变像素所在的几何位置 (2)图像裁剪imcrop函数,语法格式为: B=imcrop(A);交互式用鼠标选取区域进行剪切 B=imcrop(A,[left top right bottom]);针对指定的区域[left top right bottom]进行剪切 (3)图像缩放imresize函数,语法格式为: B = imresize(A,m,method) 这里参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。 B = imresize(A,m,method)返回原图A的m倍放大的图像(m小于1时效果是 缩小)。 (4)图像旋转imrotate函数,语法格式为: B = imrot ate(A,angle,’crop’),参数crop用于指定裁剪旋转后超出图像的部分。

三、实验内容 (1)将图像hehua.bmp裁剪成200X200大小,并保存 (2)制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色 填充 (3)利用剪切图像函数制作动画 (4)将图像分别放大1.5倍和缩小0.8倍,插值方法使用最近邻域法和双线性插值 法,对比显示图像。 (5)将图像水平镜像,再顺时针旋转45度,显示旋转后的图像。 (6)将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果具体实现: 1.将图像hehua.bmp裁剪成200X200大小,并保存 I=imread('hehua.bmp'); n=size(I); figure; subplot(1,2,1); imshow(I); title('原图'); I=double(I); I1=zeros(200,200,n(3)); I1=I(1:200,1:200,1:n(3)); subplot(1,2,2);

数字图像处理图像变换与频域处理

南京信息工程大学 计算机图像处理 实验(实习)报告 实验(实习)名称 图像变换与频域处理 实验(实习)日期 得分 指导老师 系 专业 班级 姓名 学号 一、 实验目的 1.了解离散傅里叶变换的基本性质; 2.熟练掌握图像傅里叶变换的方法及应用; 3.通过实验了解二维频谱的分布特点; 4.熟悉图像频域处理的意义和手段; 5.通过本实验掌握利用MATLAB 的工具箱实现数字图像的频域处理。 二、 实验原理 (一)傅立叶变换 傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原 和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立 叶变换。 离散傅立叶(Fourier )变换的定义: 二维离散傅立叶变换(DFT )为: 逆变换为: 式中, 在DFT 变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为: 图像的傅立叶变换有快速算法。 (二)图像的频域增强 常用的图像增强技术可分为基于空域和基于变换域的两类方法。最常用的变换域是频域空间。在频域空间,图像的信息表现为不同频率分量的组合。如果能让某个范围内的分量或某些频率的分量受到抑制而让其他分量不受影响,就可以改变输出图像的频率分布,达到不同的增强目的。 频域增强的工作流程: 频域空间的增强方法对应的三个步骤: (1) 将图像f(x,y)从图像空间转换到频域空间,得到F(u,v); (2) 在频域空间中通过不同的滤波函数H(u,v)对图像进行不同的增强,得到G(u,v)(注:傅立叶变换 滤波器 傅立叶反变换 ),(v u H ),(v u F ),(v u G ) ,(y x g ),(y x f ∑∑-=-=-=101 0)(2exp ),(1),(M x N y N vy M ux j y x f MN v u F π∑∑ -=-=+=101 0)(2ex p ),(1),(M u N v N vy M ux j v u F MN y x f π}1,,1,0{,-∈M x u }1,,1,0{,-∈N y v ),(v u F ),(y x f ),(v u F ) ,(v u ?),(),()],(exp[),(),(v u jI v u R v u j v u F v u F +==?

图像处理灰度变换实验

一. 实验名称:空间图像增强(一) 一.实验目的 1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。 2.熟练掌握各种空间域图像增强的基本原理及方法。 3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。 4.熟悉直方图均衡化的基本原理、方法和实现。 二.实验原理 (一)数字图像的灰度变换 灰度变换是图像增强的一种经典而有效的方法。灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。 1、线性灰度变换 1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。这时,可将灰度范围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。 2)令原图像f(x,y)的灰度范围为[a,b],线性变换后得到图像g(x,y),其灰度范围为[c,d],则线性灰度变换公式可表示为

a y x f b y x f a b y x f c c a y x f a b c d d y x g <≤≤>?????+---=),(),(),(, ,]),([,),( (1) 由(1)式可知,对于介于原图像f (x,y )的最大和最小灰度值之间的灰度值,可通过线性变换公式,一一对应到灰度范围[c,d]之间,其斜率为(d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后的最小和最大灰度值。变换示意图如图1所示。 图1 线性灰度变换示意图 当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。 3)由上述性质可知,线性灰度变换能选择性地加强或降低特定灰度值范围内的对比度,故线性灰度变换同样也可做分段处理:对于有价值的灰度范围,将斜率调整为大于一,用于图像细节;对于不重要的灰度范围,将图像压缩,降低对比度,减轻无用信息的干扰。最常用的分段线性变换的方法是分三段进行线性变换。 在原图像灰度值的最大值和最小值之间设置两个拐点,在拐点处,原图像的灰度值分别为r 1,r 2,该拐点对应的变换后的图像的灰度值分别为s 1,s 2,另外,取原图像灰度的最小值为r 0,最大值为r m ,对应的变换后的灰度值分别为s 0,s m 。

图像格式转换实验报告

实验1 图像格式转换实验报告 学 号:12224506 姓 名:陈振辉 班 级:5班 一、实验目的 掌握两种以上图像的格式,重点掌握BMP 图像格式。 二、实验原理: 1、JPEG 文件的解码过程。 敷设技于管路护层防含线槽试以正常杂设方案以卷技术地缩小进行自动作,

①.读入文件的相关信息 按照上述的JPEG 文件数据存储方式,把要解码的文件的相关信息一一读出,为接下来的解码工作做好准备。参考方法是,设计一系列的结构体对应各个标记,并存储标记内表示的信息。其中图像长宽、多个量化表和哈夫曼表、水平/垂直采样因子等多项信息比较重 要。以下给出读取过程中的两个问题。 1)整个文件的大体结构 JFIF 格式的JPEG 文件(*.jpg)的一般顺序为: SOI(0xFFD8)APP0(0xFFE0)[APPn(0xFFEn)]可选 DQT(0xFFDB)SOF0(0xFFC0)DHT(0xFFC4)SOS(0xFFDA)压缩数据EOI(0xFFD9)2)字的高低位问题 JPEG 文件格式中,一个字(16位)的存储使用的是 Motorola 格式, 而不是 Intel 格式。 也就是说, 一个字的高字节(高8位)在数据流的前面, 低字节(低8位)在数据流的后面,与平时习惯的Intel 格式不一样。. 3)读出哈夫曼表数据 在标记段DHT 内,包含了一个或者多个的哈夫曼表。 不同位数的码字数量JPEG 文件的哈夫曼编码只能是1~16位。这个字段的16个字节分别表示1~16位的编码码字在哈 夫曼树中的个数。编码内容这个字段记录了哈夫曼树中各个叶子结点的权。所以,上一字段(不同位数的码字数量)的16个数值之和就应该是本字段的长度,也就是哈夫曼树中叶 子结点个数。 4)建立哈夫曼树 读出哈夫曼表的数据后,就要建立哈夫曼树。 ②.初步了解图像数据流的结构 a) 在图片像素数据流中,信息可以被分为一段接一段的最小编码单元(Minimum CodedUnit ,MCU )数据流。所谓MCU ,是图像中一个正方矩阵像素的数据。矩阵的大小 是这样确定的:查阅标记SOF0,可以得到图像不同颜色分量的采样因子,即Y 、Cr 、Cb 三个分量各自的水平采样因子和垂直采样因子。大多图片的采样因子为4:1:1或 1:1:1。其中,4:1:1即(2*2):(1*1):(1*1));1:1:1即(1*1):(1*1): (1*1)。记三个分量中水平采样因子最大值为Hmax ,垂直采样因子最大值为Vmax ,那么 单个MCU 矩阵的宽就是Hmax*8像素,高就是Vmax*8像素。 、管路敷设技术通过管线不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行 高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

数字图像处理_图像的频域变换处理

图像的频域变换处理 1 实验目的 1. 掌握Fourier ,DCT 和Radon 变换与反变换的原理及算法实现,并初步理解Fourier 、Radon 和DCT 变换的物理意义。 2、 利用傅里叶变换、离散余弦变换等处理图像,理解图像变换系数的特点。 3、 掌握图像的频谱分析方法。 4、 掌握图像频域压缩的方法。 5、 掌握二维数字滤波器处理图像的方法。 2 实验原理 1、傅里叶变换 fft2函数:F=fft2(A); fftshift 函数:F1=fftshift(F); ifft2函数:M=ifft2(F); 2、离散余弦变换: dct2函数 :F=dct2(f2); idct2函数:M=idct2(F); 3、 小波变换 对静态二维数字图像,可先对其进行若干次二维DWT 变换, 将图像信息分解为高频成分H 、V 和D 和低频成分A 。对低频部分A ,由于它对压缩的结果影响很大,因此可采用无损编码方法, 如Huffman 、 DPCM 等;对H 、V 和D 部分,可对不同的层次采用不同策略的向量量化编码方法,这样便可大大减少数据量,而图像的解码过程刚好相反。 (1)dwt2 [CA,CH,CV,CD]=dwt2(X,’wname’) [CA,CH,CV,CD]=dwt2(X,LO_D,HI_D’) ()()???????-ψ=dt a b t t Rf a 1 b ,a W *()??? ??-ψ=ψa b t a 1t b ,a 112()00(,)[(,)](,)ux vy M N j M N x y f x y e F f x y F u v π---+==== ∑∑1100(21)(21)(,)(,)()()cos cos 22M N x y x u y v F u v f x y C u C v M N ππ--==++=∑∑

实验一图像的傅立叶变换

实验一图像的傅立叶变换 一、实验目的 1了解图像变换的意义和手段; 2熟悉傅里叶变换的孩本性质; 3热练掌握FFT酌方法反应用; 4通过实验了解二维频谱的分布特点; 5通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。 二、实验仪器 1计算机; 2 MATLAB程序; 3移动式存储器(软盘、U盘等)。 4记录用的笔、纸。 三、实验原理 1应用傅立叶变换进行图像处理 傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。 2傅立叶(Fourier)变换的定义 对于二维信号,二维Fourier变换定义为: 二维离散傅立叶变换为:

图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。 3利用MATLAB软件实现数字图像傅立叶变换、DCT变换的程序: 四、实验步骤 1、打开计算机,安装和启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件; 2、利用MatLab工具箱中的函数编制FFT频谱显示的函数; 3、a).调入、显示图像 b)对这图像做FFT、DCT并利用自编的函数显示其频谱; c)讨论不同的图像内容与FFT、DCT频谱之间的对应关系。 4、记录和整理实验报告。 五、实验内容 Matlab源程序如下: clc clear all img=imread(''); subplot(2,2,1),imshow(img); title('原图'); f=rgb2gray(img); F=fft2(f); subplot(2,2,2),imshow(F);title('傅里叶变换');

北航数字图象处理实验报告

数字图像处理实验报告 实验二图像变换实验 1.实验目的 学会对图像进行傅立叶等变换,在频谱上对图像进行分析,增进对图像频域上的感性认识,并用图像变换进行压缩。 2.实验内容 对Lena或cameraman图像进行傅立叶、离散余弦、哈达玛变换。在频域,对比他们的变换后系数矩阵的频谱情况,进一步,通过逆变换观察不同变换下的图像重建质量情况。 3. 实验要求 实验采用获取的图像,为灰度图像,该图像每象素由8比特表示。具体要求如下: (1)输入图像采用实验1所获取的图像(Lena、Cameraman); (2)对图像进行傅立叶变换、获得变换后的系数矩阵; (3)将傅立叶变换后系数矩阵的频谱用图像输出,观察频谱; (4)通过设定门限,将系数矩阵中95%的(小值)系数置为0,对图像进行反变换,获得逆变换后图像; (5)观察逆变换后图像质量,并比较原始图像与逆变后的峰值信噪比(PSNR)。 (6)对输入图像进行离散余弦、哈达玛变换,重复步骤1-5; (7)比较三种变换的频谱情况、以及逆变换后图像的质量(PSNR)。 4. 实验结果 1. DFT的源程序及结果 J=imread('10021033.bmp'); P=fft2(J); for i=0:size(P,1)-1 for j=1:size(P,2) G(i*size(P,2)+j)=P(i+1,j); end end Q=sort(G); for i=1:size(Q,2) if (i=size(Q,2)*0.95) t=Q(i); end end G(abs(G)

实验二 图像的频域变换

实验二图像频域变换 一.实验目的 了解图像频域变换的意义和方法,熟悉离散傅立叶变换、离散余弦变换等变换的基本性质。通过实验了解二维频谱的分布特点,掌握使用MATLAB 编程实现 数字图像变换的方法。。 二.预习 1.预习实验内容,阅读教材熟悉实验原理; 2.查阅资料,熟悉MATLAB的操作环境和基本功能。熟悉实验中涉及的有关函数。 三. 实验仪器及软件 计算机、MATLAB软件。 四.实验原理和内容 4.1. 图像的二维离散傅立叶变换 MATLAB 提供了fft 函数、fft2 函数和fftn 函数分别用于进行一维DFT、二维DFT 和n维DFT 的快速傅立叶变换, ifft 函数、ifft2 函数和ifftn 函数分别用于进行一维DFT、二维DFT和n 维DFT 的快速傅立叶反变换。 快速傅立叶变换的算法思想: (1)首先将原图像进行转置; (2)按行对转置后的图像矩阵做一维FFT,将变换后的中间矩阵再转置; (3)对转置后的中间矩阵做一维FFT,最后得到的就是二维FFT。 相应函数: 1. fft2 函数 计算二维快速傅立叶变换,语法格式为: B=fft2(I) B=fft2(I,m,n), 通过对图像I 剪切或补零,按用户指定的点数计算fft。 2. fftn 函数 计算n维fft,语法格式同fft2 3. fftshift 函数 将变换后的图像频谱移到中心。语法格式为: B=fftshift(I) 4. ifft2 函数 计算二维傅立叶反变换,语法格式同fft2。 5. ifftn 函数

计算n维傅立叶反变换。 实验1. 对给定的一幅图像进行傅立叶变换,显示无平移的DFT 和原点移到中心的DFT。 %建立简单图像d并显示之 d = zeros(64,64); %图像大小64?64 d(26:41,26:41) =1; %中心白色方块大小为16x16 figure(1); %建立图形窗口1 imshow(d); %显示图像d如图3.5(a)所示 %计算傅里叶变换并显示之 D = fft2(d); %计算图像d的傅里叶变换,fft2(d) = fft(fft(d).').' figure(2); %建立图形窗口2 imshow(abs(D),[]); %显示图像d的傅里叶变换谱 Dc = fftshift(D); figure(3); imshow(abs(Dc),[]); %中心后结果 figure(4); imshow(log(1+ abs(Dc)), []) %增强后观察fft %逆变换 iF =ifft2(D); figure(6), imshow(real(iF),[]) 读入一副复杂图像,如:d = imread('rose_512.tif'),显然其fft结果; 这里图像名可以是matlab自带的例图(..\toolbox\images 目录下的),也可以是其它灰度图像,如是彩色图像,用rgb2gray转为灰度图像。 实验2. 已知一个1000×1000 二值图像,中间为一个50×30 的白色区域,其它为黑色,研究图像的DFT 的平移和旋转特性。 %实现图像平移特性代码 f=zeros(1000,1000); f(350:649,475:524)=1; subplot(2,2,1);imshow(f,'notruesize'); %图像定义 title('原始图像'); F=fftshift(abs(fft2(f))); subplot(2,2,2);imshow(F,[-1,5],'notruesize'); title('原始图像的傅里叶变换频谱'); f=zeros(1000,1000); f(350:649,800:849)=1; subplot(2,2,3);imshow(f,'notruesize'); title('X轴方向移到后的图像'); F=fftshift(abs(fft2(f))); subplot(2,2,4);imshow(F,[-1,5],'notruesize'); title('X轴方向移动后的傅里叶变换频谱');

相关主题
文本预览
相关文档 最新文档