二维灰度图象的统计分析及FFT变换处理Word文件下载.docx

上传人:b****6 文档编号:18368581 上传时间:2022-12-15 格式:DOCX 页数:14 大小:473.43KB
下载 相关 举报
二维灰度图象的统计分析及FFT变换处理Word文件下载.docx_第1页
第1页 / 共14页
二维灰度图象的统计分析及FFT变换处理Word文件下载.docx_第2页
第2页 / 共14页
二维灰度图象的统计分析及FFT变换处理Word文件下载.docx_第3页
第3页 / 共14页
二维灰度图象的统计分析及FFT变换处理Word文件下载.docx_第4页
第4页 / 共14页
二维灰度图象的统计分析及FFT变换处理Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

二维灰度图象的统计分析及FFT变换处理Word文件下载.docx

《二维灰度图象的统计分析及FFT变换处理Word文件下载.docx》由会员分享,可在线阅读,更多相关《二维灰度图象的统计分析及FFT变换处理Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

二维灰度图象的统计分析及FFT变换处理Word文件下载.docx

2数字信号处理与图像处理基础知识。

时间安排:

第18周周一:

安排任务

19~20周:

仿真设计(鉴主13楼计算机实验室)

第20周周六:

完成(答辩,提交报告,演示)

指导教师签名:

年月日

系主任(或责任教师)签名:

目录

摘要1

Abstract2

1数据采集3

1.1图像的选取3

1.2MATLAB读取方法4

1.2.1编辑M文件4

1.2.2图像的读取4

1.2.3查看图像的格式5

1.2.4灰度值的获取6

2数据统计处理7

2.1均值计算7

2.1.1原理介绍7

2.1.2仿真结果7

2.2标准差计算8

2.2.1原理介绍8

2.2.2仿真结果8

2.3方差计算8

2.3.1原理介绍8

2.3.2仿真结果9

2.4绘制灰度直方图9

2.4.1直方图定义9

2.4.2直方图的绘制9

3快速傅立叶变换(FFT)10

3.1原理介绍10

3.2仿真结果12

4总结和心得13

参考文献14

摘要

数字图像处理是一门新兴的综合性学科,它在交通、通信、工业、军事、医学、遥感等多领域被广泛应用。

伴随着计算机技术的发展,图像处理的应用领域还在不断扩大。

图像处理工程可分为图像处理、图像分析和图像理解三个层次,图像处理是比较低层的操作,它主要在图像的像素级上进行处理,而且处理的数据非常庞大,需要用到大量的工程数学知识。

Matlab集数值计算、符号运算及图形处理等强大功能于一体,是当今国际上公认的最优秀的科技应用软件之一。

它编写简单,具有强大的科学计算能力、可视化功能和开放式可扩展环境,因此在图像处理领域得到了广泛的应用。

本次练习就是Matlab环境下的一些最基本的图像处理操作,如图像的读取、显示、直方图统计、图像增强、傅里叶变换等处理,为将来迅速进入图像处理应用领域打下基础。

关键词:

Matlab,数字图像处理

Abstract

Digitalimageprocessingisanewcomprehensivesubjectwhichhasbeenwidelyusedinmanyfieldsliketransportation,communications,industrial,military,medical,remotesensing.Withthedevelopmentofcomputertechnology,imageprocessingapplicationsisstillexpanding.Imageprocessingprojectscanbedividedintothreelevels,imageprocessing,imageanalysisandimageunderstanding.Imageprocessingoperationsareconsideredrelativelylow-level.Itismainlyusedonthepixellevelandithandlesverylargedata.Soitneedstousealotofengineeringmathematics.

Matlabisgoodatnumericalcalculations,symbolicmanipulationandgraphicsprocessing.Itisinternationallyrecognizedasthebestapplicationoftechnologytoday.Itcanbeusedforprogrammingwithitspowerfulscientificcomputing,visualizationandopenextensibleenvironment.Thereforeithasbeenwidelyusedinimageprocessing.

WewilldothemostbasicimageprocessingoperationsundertheMatlabenvironment,suchasimagereading,displaying,histogramstatistics,imageenhancementandFouriertransformprocessing.Thispracticecanhelpuspreparefordoimageprocessingquicklyinthefuture.

Keywords:

Matlab,digitalimageprocessing

1数据采集

Matlab软件的图像采集工具箱提供了大量的函数用于采集图像和视频信号,该工具箱支持的硬件设备包括工业标准的PC图像采集卡和相应的设备。

所支持的硬件包括:

Matrox和DataTranslation公司提供的视频采集设备,同时还支持Windows平台下支持USB视频摄像头等设备。

Matlab可以支持很多很多图片的文件格式,例如﹡cur、﹡bmp、﹡hdf、﹡ico、﹡jpg、﹡tif、﹡gif、﹡pcx等。

用于读写图像数据的函数有imread(从图像格式的文件中读取数据)和imwrite(将数据写入图像格式的文件)。

这里我们主要是用到图像的读取。

1.1图像的选取

目前我们刚接触图像的处理,为了便于学习和降低难度,根据训练要求,我们采集一幅像素略大于64*64黑白图像如下:

图1.1选取的图片

1.2MATLAB读取方法

1.2.1编辑M文件

打开Matlab软件,在File下选择New\M-File便可以编辑M文件。

M文件分为脚本式和函数式,我们可以利用M文件实现自己的算法即可以建立自己的函数工具箱。

例如读取图像我们可以编辑一个read.m的文件来实现读取图像的功能。

在以后的处理过程中我们几乎每部分都要建立M文件,到时将具体列出其内容。

1.2.2图像的读取

imread函数用于读入各种图象文件,其一般的用法为:

利用函数imread()可完成图形图像文件的读取,语法:

A=imread(filename,fmt)

fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。

通常,读取的大多数图像均为8bit,当这些图像加载到内存中时,Matlab就将其存放在类uint8中。

例如本次练习中:

I=imread(‘tree.jpg’);

利用函数imread函数实现图像文件的读取,然后运用imshow函数显示图像。

具体操作如下:

将所要处理的图片存在D:

\matlab\work里,若要将图片“tree.jpg”写入Matlab中。

需要先打开运行Matlab,然后在File里面新建M-File文件,再将读取图片

M文件read.m的程序如下:

I=imread('

tree.jpg'

);

figure

imshow(I);

title('

西院的老树'

在Matlab的commandwindows栏里运行read

图1.2读取后显示图片

1.2.3查看图像的格式

图形图像文件信息的查询 

imfinfo()函数

imfinfo('

在Matlab的commandwindows栏里运行该函数,可查看该图像的格式

>

imfinfo('

ans=

Filename:

'

FileModDate:

25-May-201022:

17:

58'

FileSize:

58954

Format:

jpg'

FormatVersion:

'

Width:

353

Height:

250

BitDepth:

8

ColorType:

grayscale'

FormatSignature:

NumberOfSamples:

1

CodingMethod:

Huffman'

CodingProcess:

Sequential'

Comment:

{'

ACDSystemsDigitalImaging'

}

1.2.4灰度值的获取

从上述文件的信息可以看到该文件的颜色类型ColorType:

,所以我们不需转换格式便可以查看该图片的灰度值。

灰度图像的数据通常是保存在一个二维矩阵中,本图像的像素为250X353即有一个250X353的矩阵。

只要在commandwindows输入I=imread('

)运行便可得该图像的矩阵(部分):

图1.3图像的灰度值矩阵

2数据统计处理

2.1均值计算

2.1.1原理介绍

均值计算的原理较简单,在MATLAB的函数库中表示均值的函数是mean2,其格式是mean2(),括号里面就是待处理分析的信号。

均值计算主要是获得图像矩阵每列灰度值的平均值(函数mean)或者是总的平均值(函数mean2)。

1、新建M文件average1.m编辑如下:

I=imread('

mean(I)

2、M文件average2.m编辑如下:

mean2(I)

2.1.2仿真结果

1、每列的平均值仿真结果(部分)如下:

average1

ans=

Columns1through11

93.580098.028099.6160105.2520108.9000108.8640109.0560106.9680105.8760103.8640103.5200

Columns12through22

104.6520104.3400103.3840102.096099.732098.0240101.3360104.5320103.0720102.3080101.8880

Columns23through33

103.0040101.436098.636099.860099.180095.052093.816092.976091.428091.988094.2520

Columns34through44

98.172099.060098.7840100.6720104.9280107.1880107.3720105.9320104.0160103.9160103.2720

Columns45through55

104.6880106.8600105.2040103.6160105.5200106.9320

……

2、求总的像素灰度均值仿真结果如下:

average2

135.2081

2.2标准差计算

2.2.1原理介绍

标准差表示一组数据对于平均值的分散程度,在MATLAB的函数库中计算矩阵标准差的函数为std2,其格式是std2(),括号里面就是待处理分析的信号。

由于标准差反映的是图像灰度值偏离灰度均值的程度,如果标准差越大,则说明灰度级越大,则图像包含的信息就越多。

编辑M文件bzc.m如下:

std2(double(I))

2.2.2仿真结果

bzc

72.7538

2.3方差计算

2.3.1原理介绍

这里对图像的方差进行计算如图2.5所示,在求标准差的基础上,方差是标准差的平方,其反映的也是图像灰度值偏离灰度均值的程度,同样Matlab也提供直接求方差的函数var(),当在()里面输入I(:

)表示对整个矩阵求方差。

编辑M问件fc.m如下:

var(double(I(:

)))

2.3.2仿真结果

fc

5.2931e+003

2.4绘制灰度直方图

在数字图像处理中,一个最简单最有用的工具是灰度直方图,它是一个用来说明图像灰度分布的图形。

灰度直方图是多种空间域处理的基础,是图像处理中十分重要的分析工具,直方图的操作能有效地用于图像增强、图像压缩、边沿检测等处理中。

2.4.1直方图定义

灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数,其横坐标表示灰度级纵坐标表示频数或等于该灰度级的像素的个数与总像素之比。

灰度直方图反映了一幅图中的灰度级与出现这种灰度的概率之间的关系,展现了图像最基本的统计特征。

2.4.2直方图的绘制

Matlab里面图像的直方图的绘制用的函数是imhist。

其使用格式为imhist(I,n)其中,n为指定的灰度级数目,缺省值为256。

M文件编辑draw.m如下:

imhist(I)

运行结果如下:

图2.1图像的灰度直方图

3快速傅立叶变换(FFT)

离散傅里叶变换时数字图像处理最常用的一个正交变换。

利用傅里叶变换可将图像信号从空间域变换到频率域,使得信号处理中的频域理论可应用于数字图像处理领域。

3.1原理介绍

假设f(x,y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下:

u=0,1…M-1 v=0,1…N-1 

(1)

离散傅立叶反变换的定义如下:

x=0,1…M-1 y=0,1…N-1(3)

F(p,q)称为f(m,n)的离散傅立叶变换系数。

这个式子表明,函数f(m,n)可以用无数个不同频率的复指数信号和表示,而在频率(w1,w2)处的复指数信号的幅度和相位是F(w1,w2)。

Matlab里对图像快速傅里叶变化用到的是fft2函数。

其应用格式为:

A=fft2(X,MROWS,NCOLS) 

其中,MROWS和NCOLS指定对X进行零填充后的X大小。

傅里叶反变换函数为ifft2(),显示频谱图可以使用imshow(X,[])。

1、进行傅里叶变换的M文件fft1.m如下:

%读取图像

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);

a.原图'

subplot(2,2,2),imshow(F);

b.傅里叶变换图'

subplot(2,2,3),imshow(log(S+1),[]);

c.傅里叶频谱图'

subplot(2,2,4),imshow(S2,[]);

d.居中的傅里叶频谱图'

2、傅里叶变换后进行傅里叶反变换的M文件fb.m如下:

I=imread('

F1=fft2(double(I));

i=ifft2(F1);

%傅里叶反变换figure

subplot(2,2,2),imshow(F1);

subplot(2,2,3),imshow(i,[]);

c.傅里叶反变换图'

3.2仿真结果

图3.1傅里叶变换结果图

图3.2傅里叶反变换图

4总结和心得

考完试了,我便有时间认真的完成此次的基础强化训练,之前有接触过Matlab也有接触过信号与系统的Matlab实验,所以对Matlab的信号处理我并不感到陌生。

但是我对数字图像处理却没有任何概念,之前对图像的认识仅限于图片的格式以及像素的大小,并了解图像处理原来是一门先进的专业学科。

因此我借助此次的强化训练进一步的认识图像处理技术。

为了完成此次的强化训练,我上网查找了Matlab的相关教程以及图像处理函数库,并且带着电脑扎根鉴主18楼图书室,以便随时查阅相关书籍。

通过学习我对图像处理技术的应用情况有了一个宏观的认识,它和通信工程也是紧密联系的,所以我至少要掌握它的基本处理方法,以便将来更加深入的学习。

对于图像的统计处理的练习,我边查相关文献边在Matlab中运行程序很快就掌握了基本的统计方法,而且没有感觉十分的吃力。

当然在学习的过程中我也遇到了一些小困难,比如Matlab的语言编写和图像处理知识的理解问题,不过通过查阅相关的文献我便能很快的解决这些问题。

通过此次的强化训练,我较全面了解常用的数据分析与处理原理及方法,能够运用Matlab进行基本的模拟分析,掌握了文献检索和文献阅读的基本方法,同时也提高正确地撰写论文的基本能力。

总之我在学习的过程中体会到了快乐,这段时间感到十分的充实,这种边实践边学习才是我真正想要的学习方式,我真心希望以后能有更多的机会进行这样的学习和训练。

参考文献

[1]韩晓军.数字图像处理技术与应用.电子工业出版社.2009.

[2]李南南、吴清、曹辉林.MATLAB7简明教程.清华大学出版社.2006

[3]刘文耀.数字图像采集与处理.电子工业出版社.2007.

[4]刘直芳、王运琼、朱敏.数字图像处理与分析.清华大学出版社.2006

[5]蓝章礼、李益才、李益才.数字图像处理与图像通信.清华大学出版社.2009

[6]贺兴华等.《MATLAB7.X图像处理》.人民邮电出版社.2006.

本科生基础强化训练成绩评定表

姓名

性别

专业、班级

通信

题目:

答辩或质疑记录:

1、问:

傅里叶变换的作用是什么?

答:

2、问:

在训练中你遇到过最大的困难是什么,怎么解决的?

我遇到的最大的困难就是傅里叶变换时频谱图的显示不明显,通过查阅相关资料我发现为了便于观察我们可以使用对数来扩大观察范围,而且还可以使用居中观察法,从而使频谱显示的更加直观清楚。

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1