1、基础强化训练设计报告题 目:二维灰度图象的统计分析及 FFT 变换处理专业班级: 学生姓名: 指导教师: 武汉理工大学信息工程学院2010 年 7 月 17 日学 号武汉理工大学基础强化训练报告基础强化训练设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 题 目: 二维灰度图象的统计分析及 FFT 变换处理课程设计目的: 较全面了解常用的数据分析与处理原理及方法; 能够运用相关软件进行模拟分析; 掌握基本的文献检索和文献阅读的方法; 提高正确地撰写论文的基本能力。课程设计内容和要求 采集一幅像素大于 64*64 黑白图像; 常规的数学统计数据处理:计算图象各象素点灰度值得
2、均值、标准差、方差,并绘出灰度直方图; 采用FFT(傅立叶变换)对图像进行分析初始条件: MATLAB 软件。 数字信号处理与图像处理基础知识。时间安排:第 18 周周一:安排任务1920 周:仿真设计(鉴主 13 楼计算机实验室)第 20 周周六:完成(答辩,提交报告,演示) 指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日武汉理工大学基础强化训练报告I目 录摘 要 .1Abstract21 数据采集 31.1 图像的选取 31.2 MATLAB 读取方法 .41.2.1 编辑 M 文件 41.2.2 图像的读取 41.2.3 查看图像的格式 51.2.4 灰度值的获取 62
3、 数据统计处理 72.1 均值计算 72.1.1 原理介绍 72.1.2 仿真结果 72.2 标准差计算 82.2.1 原理介绍 82.2.2 仿真结果 82.3 方差计算 92.3.1 原理介绍 92.3.2 仿真结果 92.4 绘制灰度直方图 92.4.1 直方图定义 92.4.1 直方图的绘制 .103 快速傅立叶变换(FFT) 103.1 原理介绍 .113.2 仿真结果 .124 总结和心得 .13参考文献 .14武汉理工大学基础强化训练报告0摘 要数字图像处理是一门新兴的综合性学科,它在交通、通信、工业、军事、医学、遥感等多领域被广泛应用。伴随着计算机技术的发展,图像处理的应用领域
4、还在不断扩大。图像处理工程可分为图像处理、图像分析和图像理解三个层次,图像处理是比较低层的操作,它主要在图像的像素级上进行处理,而且处理的数据非常庞大,需要用到大量的工程数学知识。Matlab 集数值计算、符号运算及图形处理等强大功能于一体,是当今国际上公认的最优秀的科技应用软件之一。它编写简单,具有强大的科学计算能力、可视化功能和开放式可扩展环境,因此在图像处理领域得到了广泛的应用。本次练习就是 Matlab 环境下的一些最基本的图像处理操作,如图像的读取、显示、直方图统计、图像增强、傅里叶变换等处理,为将来迅速进入图像处理应用领域打下基础。武汉理工大学基础强化训练报告1AbstractDi
5、gital image processing is a new comprehensive subject which has been widely used in many fields like transportation, communications, industrial, military, medical, remote sensing.With the development of computer technology, image processing applications is still expanding.Image processing projects c
6、an be divided into three levels,image processing, image analysis and image understanding.Image processing operations are considered relatively low-level. It is mainly used on the pixel level and it handles very large data.So it needs to use a lot of engineering mathematics.Matlab is good at numerica
7、l calculations, symbolic manipulation and graphics processing. It is internationally recognized as the best application of technology today.It can be used for programming with its powerful scientific computing, visualization and open extensible environment.Therefore it has been widely used in image
8、processing.We will do the most basic image processing operations under the Matlab environment, such as image reading, displaying,histogram statistics,image enhancement and Fourier transform processing.This practice can help us prepare for do image processing quickly in the future.武汉理工大学基础强化训练报告21 数据
9、采集Matlab 软件的图像采集工具箱提供了大量的函数用于采集图像和视频信号,该工具箱支持的硬件设备包括工业标准的 PC 图像采集卡和相应的设备。所支持的硬件包括:Matrox 和 Data Translation 公司提供的视频采集设备,同时还支持 Windows 平台下支持 USB 视频摄像头等设备。Matlab 可以支持很多很多图片的文件格式,例如cur 、 bmp、hdf、 ico、jpg、tif、gif 、pcx 等。用于读写图像数据的函数有 imread(从图像格式的文件中读取数据)和 imwrite(将数据写入图像格式的文件) 。这里我们主要是用到图像的读取。1.1 图像的选取目
10、前我们刚接触图像的处理,为了便于学习和降低难度,根据训练要求,我们采集一幅像素略大于 64*64 黑白图像如下:图 1.1 选取的图片武汉理工大学基础强化训练报告31.2 MATLAB 读取方法1.2.1 编辑 M 文件打开 Matlab 软件,在 File 下选择 NewM-File 便可以编辑 M 文件。M 文件分为脚本式和函数式,我们可以利用 M 文件实现自己的算法即可以建立自己的函数工具箱。例如读取图像我们可以编辑一个 read.m 的文件来实现读取图像的功能。在以后的处理过程中我们几乎每部分都要建立 M 文件,到时将具体列出其内容。1.2.2 图像的读取imread 函数用于读入各种
11、图象文件,其一般的用法为:利用函数 imread()可完成图形图像文件的读取,语法:A=imread(filename,fmt)fmt 为图象的格式,filename 为读取的图象文件(可以加上文件的路径) 。通常,读取的大多数图像均为 8bit,当这些图像加载到内存中时,Matlab 就将其存放在类 uint8 中。例如本次练习中: I = imread(tree.jpg );利用函数 imread 函数实现图像文件的读取,然后运用 imshow 函数显示图像。具体操作如下:将所要处理的图片存在 D:matlabwork 里,若要将图片“tree.jpg”写入Matlab 中。需要先打开运行
12、 Matlab,然后在 File 里面新建 M-File 文件,再将读取图片M 文件 read.m 的程序如下:I= imread (tree.jpg);figureimshow(I);title(西院的老树);在 Matlab 的 command windows 栏里运行 read武汉理工大学基础强化训练报告41.2.3 查看图像的格式图形图像文件信息的查询 imfinfo( ) 函数imfinfo( tree.jpg) 在 Matlab 的 command windows 栏里运行该函数,可查看该图像的格式 imfinfo( tree.jpg)ans = Filename: tree.jp
13、gFileModDate: 25-May-2010 22:17:58FileSize: 58954Format: jpgFormatVersion: 图 1.2 读取后显示图片武汉理工大学基础强化训练报告5Width: 353Height: 250BitDepth: 8ColorType: grayscaleFormatSignature: NumberOfSamples: 1CodingMethod: HuffmanCodingProcess: SequentialComment: ACD Systems Digital Imaging1.2.4 灰度值的获取从上述文件的信息可以看到该文件的
14、颜色类型 ColorType: grayscale,所以我们不需转换格式便可以查看该图片的灰度值。灰度图像的数据通常是保存在一个二维矩阵中,本图像的像素为 250X353即有一个 250X353 的矩阵。只要在 command windows 输入 I=imread(tree.jpg)运行便可得该图像的矩阵(部分):图 1.3 图像的灰度值矩阵武汉理工大学基础强化训练报告62 数据统计处理2.1 均值计算2.1.1 原理介绍均值计算的原理较简单,在 MATLAB 的函数库中表示均值的函数是mean2,其格式是 mean2() ,括号里面就是待处理分析的信号。均值计算主要是获得图像矩阵每列灰度值
15、的平均值(函数 mean)或者是总的平均值(函数mean2) 。1、新建 M 文件 average1.m 编辑如下:I=imread(tree.jpg);mean(I)2、M 文件 average2.m 编辑如下:I=imread(tree.jpg);mean2(I)2.1.2 仿真结果1、每列的平均值仿真结果(部分)如下: average1ans =Columns 1 through 11 93.5800 98.0280 99.6160 105.2520 108.9000 108.8640 109.0560 106.9680 105.8760 103.8640 103.5200Columns
16、 12 through 22 104.6520 104.3400 103.3840 102.0960 99.7320 98.0240 101.3360 104.5320 103.0720 102.3080 101.8880Columns 23 through 33 103.0040 101.4360 98.6360 99.8600 99.1800 95.0520 93.8160 92.9760 91.4280 91.9880 94.2520Columns 34 through 44 武汉理工大学基础强化训练报告798.1720 99.0600 98.7840 100.6720 104.9280
17、 107.1880 107.3720 105.9320 104.0160 103.9160 103.2720Columns 45 through 55 104.6880 106.8600 105.2040 103.6160 105.5200 106.9320 2、求总的像素灰度均值仿真结果如下: average2ans =135.20812.2 标准差计算2.2.1 原理介绍标准差表示一组数据对于平均值的分散程度,在 MATLAB 的函数库中计算矩阵标准差的函数为 std2,其格式是 std2() ,括号里面就是待处理分析的信号。由于标准差反映的是图像灰度值偏离灰度均值的程度,如果标准差越大,
18、则说明灰度级越大,则图像包含的信息就越多。编辑 M 文件 bzc.m 如下:I=imread(tree.jpg);std2(double(I) )2.2.2 仿真结果 bzcans =72.7538武汉理工大学基础强化训练报告82.3 方差计算2.3.1 原理介绍这里对图像的方差进行计算如图 2.5 所示,在求标准差的基础上,方差是标准差的平方,其反映的也是图像灰度值偏离灰度均值的程度,同样 Matlab 也提供直接求方差的函数 var(),当在()里面输入 I(:)表示对整个矩阵求方差。编辑 M 问件 fc.m 如下:I=imread(tree.jpg);var(double(I(:)2.3
19、.2 仿真结果 fcans =5.2931e+0032.4 绘制灰度直方图在数字图像处理中,一个最简单最有用的工具是灰度直方图,它是一个用来说明图像灰度分布的图形。灰度直方图是多种空间域处理的基础,是图像处理中十分重要的分析工具,直方图的操作能有效地用于图像增强、图像压缩、边沿检测等处理中。2.4.1 直方图定义灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数,其横坐标表示灰度级纵坐标表示频数或等于该灰度级的像素的个数与总像素之比。灰度直方图反映了一幅图中的灰度级与出现这种灰度的概率之间的关系,展现了图像最基本的统计特征。武汉理工大学基础强化训练报告92.4.1 直方图的绘制M
20、atlab 里面图像的直方图的绘制用的函数是 imhist。其使用格式为imhist(I,n) 其中 ,n 为指定的灰度级数目,缺省值为 256。M 文件编辑 draw.m 如下:I= imread (tree.jpg);imhist(I)运行结果如下:3 快速傅立叶变换(FFT)离散傅里叶变换时数字图像处理最常用的一个正交变换。利用傅里叶变换可将图像信号从空间域变换到频率域,使得信号处理中的频域理论可应用于数字图像处理领域。图 2.1 图像的灰度直方图武汉理工大学基础强化训练报告103.1 原理介绍假设 f( x,y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下:u=0,1
21、M-1 v=0,1N-1 (1)离散傅立叶反变换的定义如下:x=0,1M-1 y=0,1 N-1(3)F(p,q)称为 f(m,n)的离散傅立叶变换系数。这个式子表明,函数f(m,n )可以用无数个不同频率的复指数信号和表示,而在频率( w1,w2)处的复指数信号的幅度和相位是 F(w1,w2) 。Matlab 里对图像快速傅里叶变化用到的是 fft2 函数。其应用格式为:Afft2(X,MROWS,NCOLS) 其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。傅里叶反变换函数为 ifft2( ),显示频谱图可以使用 imshow(X,)。1、进行傅里叶变换的 M 文件
22、 fft1.m 如下:I= imread (tree.jpg); %读取图像F=fft2(double(I); %进行二维傅里叶变换S=abs(F); %计算傅里叶频谱S1=fftshift(S); %计算居中的傅里叶频谱 S2=log(1+S1); %为缩小观察范围进行对数变换i=real(ifft2(S1); %傅里叶反变换figure %画出原图,傅里叶变换图,傅里叶频谱和居中的傅里叶频谱subplot(2,2,1),imshow(I);title(a.原图);subplot(2,2,2),imshow(F);title(b.傅里叶变换图);subplot(2,2,3),imshow(l
23、og(S+1),);title(c.傅里叶频谱图 );subplot(2,2,4),imshow(S2,);title(d.居中的傅里叶频谱图);2、傅里叶变换后进行傅里叶反变换的 M 文件 fb.m 如下:I=imread (tree.jpg); %读取图像F1=fft2(double(I); %进行二维傅里叶变换i=ifft2(F1); %傅里叶反变换 figure subplot(2,2,1),imshow(I);title(a.原图);subplot(2,2,2),imshow(F1);title(b.傅里叶变换图);subplot(2,2,3),imshow(i,);title(c.
24、傅里叶反变换图);武汉理工大学基础强化训练报告113.2 仿真结果图 3.1 傅里叶变换结果图图 3.2 傅里叶反变换图武汉理工大学基础强化训练报告12武汉理工大学基础强化训练报告134 总结和心得考完试了,我便有时间认真的完成此次的基础强化训练,之前有接触过Matlab 也有接触过信号与系统的 Matlab 实验,所以对 Matlab 的信号处理我并不感到陌生。但是我对数字图像处理却没有任何概念,之前对图像的认识仅限于图片的格式以及像素的大小,并了解图像处理原来是一门先进的专业学科。因此我借助此次的强化训练进一步的认识图像处理技术。为了完成此次的强化训练,我上网查找了 Matlab 的相关教
25、程以及图像处理函数库,并且带着电脑扎根鉴主 18 楼图书室,以便随时查阅相关书籍。通过学习我对图像处理技术的应用情况有了一个宏观的认识,它和通信工程也是紧密联系的,所以我至少要掌握它的基本处理方法,以便将来更加深入的学习。对于图像的统计处理的练习,我边查相关文献边在 Matlab 中运行程序很快就掌握了基本的统计方法,而且没有感觉十分的吃力。当然在学习的过程中我也遇到了一些小困难,比如 Matlab 的语言编写和图像处理知识的理解问题,不过通过查阅相关的文献我便能很快的解决这些问题。通过此次的强化训练,我较全面了解常用的数据分析与处理原理及方法,能够运用 Matlab 进行基本的模拟分析,掌握
26、了文献检索和文献阅读的基本方法,同时也提高正确地撰写论文的基本能力。总之我在学习的过程中体会到了快乐,这段时间感到十分的充实,这种边实践边学习才是我真正想要的学习方式,我真心希望以后能有更多的机会进行这样的学习和训练。武汉理工大学基础强化训练报告14参考文献1 韩晓军. 数字图像处理技术与应用. 电子工业出版社. 2009.2 李南南、吴清、曹辉林. MATLAB7 简明教程 . 清华大学出版社.20063 刘文耀. 数字图像采集与处理. 电子工业出版社. 2007.4 刘直芳、王运琼、朱敏. 数字图像处理与分析. 清华大学出版社. 20065 蓝章礼、李益才、李益才. 数字图像处理与图像通信 . 清华大学出版社. 2009武汉理工大学基础强化训练报告本科生基础强化训练成绩评定表指导教师签字: 年 月 日姓 名 性 别 男专业、班级 通信 0805 班题 目: 二维灰度图象的统计分析及 FFT 变换处理答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)