二维灰度图象的统计分析及FFT变换处理Word文档格式.docx
- 文档编号:18227480
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:19
- 大小:573.75KB
二维灰度图象的统计分析及FFT变换处理Word文档格式.docx
《二维灰度图象的统计分析及FFT变换处理Word文档格式.docx》由会员分享,可在线阅读,更多相关《二维灰度图象的统计分析及FFT变换处理Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
3采用[FFT(傅立叶变换),DCT(离散余弦变化),DWT(离散小波变化)](三选一)对图像进行分析
初始条件:
1MATLAB软件。
2数字信号处理与图像处理基础知识。
时间安排:
第20周,安排任务
第21周,程序设计与计算(鉴主13楼计算机实验室)
第22周,完成(答辩,提交报告,演示)
指导教师签名:
年月日
系主任(或责任教师)签名:
目录
摘要I
AbstractII
1数据采集1
1.1图像的选取1
1.2MATLAB读取方法1
1.2.1编辑M文件1
1.2.2图像的读取2
1.2.3查看图像的格式3
1.2.4灰度值的获取4
2数据统计处理6
2.1均值计算6
2.1.1原理介绍6
2.1.2仿真结果6
2.2标准差计算7
2.3方差计算8
3快速傅立叶变换12
3.1原理介绍12
3.2仿真结果13
4离散余弦变换(DCT)15
4.1原理介绍15
4.2仿真结果15
5心得体会17
参考文献18
摘要
MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能够满足所有的计算需求。
MATLAB本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。
利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。
本次练习介绍的就是Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;
通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;
加深对直方图均衡算法的理解。
Abstract
MATLABisascientificcomputinglanguagethataddsthefunctionofnumericalcomputingandgraphicsprocessing,symbolstogether.Asapowerfulscientificcomputingplatforms,itcanalmostsatisfyallthecalculationsthatneeds.MATLABitselfisapowerfultoolofdatavisualizationthatcandisplaydatathroughvariousforms,suchasgraylevelhistogram,contours,montagemixing,pixelanalysis,thelayertextureandtransformation.Withvisualgraphics,itcannotonlyevaluateimagecharacteristics,butalsoanalyzethedistributionofcolorimage.
ThepurposeofthepracticeofintroducingMatlabenvironmentisthemostbasicofsomeimageprocessingoperations,suchasread,write,imageinformationandimageformat,sizeandgraytelescopic;
etc.Throughtheexperimentmasteryofimagehistogramsdepictsmethod,deepenthehistogramimagefeatureandtherelationshipbetweentheshapeofunderstanding,andtodeepentheunderstandingofhistogramequalizationalgorithm.
1数据采集
Matlab软件的图像采集工具箱提供了大量的函数用于采集图像和视频信号,该工具箱支持的硬件设备包括工业标准的PC图像采集卡和相应的设备。
所支持的硬件包括:
Matrox和DataTranslation公司提供的视频采集设备,同时还支持Windows平台下支持USB或者火线(IEEE-1394)的视频摄像头等设备。
MATLAB可以支持很多很多图片的文件格式,例如﹡cur、﹡bmp、﹡hdf、﹡ico、﹡jpg、﹡tif、﹡gif、﹡pcx等。
用于读写图像数据的函数有imread(从图像格式的文件中读取数据)和imwrite(将数据写入图像格式的文件)。
这里我用到的是imread,主要是用到图像文件的读取。
1.1图像的选取
本次研究对象为像素是200*140的图片“attention[1].jpg”如下所示
图1-1图像的选取
1.2MATLAB读取方法
1.2.1编辑M文件
m文件如果是函数,保存的文件名最好与函数名一致,这点都很清楚。
不过容易疏忽的是,m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成。
原因是简单的单词命名容易与matlab内部函数名同名,结果会出现一些莫名其妙的错误。
图1-2M文件的编辑
1.2.2图像的读取
imread函数用于读入各种图象文件,其一般的用法为:
[X,MAP]=imread(‘filename’,‘fmt’);
亦可直接写为imread(‘’);
其中,X,MAP分别为读出的图象数据和颜色表数据,fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。
在命令窗口中输入:
imfinfoE:
\pppyioyrtdrtd\work\attention[1].jpg
%读取图像信息
I=imread('
E:
\pppyioyrtdrtd\work\attention[1].jpg'
'
jpg'
);
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(I);
title('
原图像'
命令窗口显示:
ans=
Filename:
'
FileModDate:
27-Dec-201016:
50:
52'
FileSize:
21178
Format:
FormatVersion:
'
Width:
200
Height:
140
BitDepth:
8
ColorType:
grayscale'
FormatSignature:
NumberOfSamples:
1
CodingMethod:
Huffman'
CodingProcess:
Progressive'
Comment:
{}
图1-3图像的显示
1.2.3查看图像的格式
由于要求我们对灰度图像进行分析,所以我们要查看所选的图像是否符合要求。
在matlab中可以运用isgray()函数来判断图像是否为灰度图像,如果是灰度图像则返回值为1,如果不是灰度图像返回值为0。
如果原图的返回值为0,则不符合要求,我们需要把原图灰度化。
Matlab中提供了rgb2gray()函数,可以将原来的图像进行灰度化。
Flag=isgray(I)
>
Inisgrayat27
flag=
1.2.4灰度值的获取
直接在MATLAB命令行中输入存储图像矩阵的名字,即可得到灰度矩阵。
I=imread('
)
图1-4选取图像的矩阵值
图1-5图像的显示
2数据统计处理
2.1均值计算
2.1.1原理介绍
矩阵均值又称平均值,是矩阵中所有元素的平均值。
设矩阵X中第i个元素的值为
,则其均值计算为:
在matlab中用mean(h)可以求每一列象素的均值。
用mean(h,2)可以求每一行像素的均值。
用mean2(h)可以求出所有像素的均值。
2.1.2仿真结果
在命令窗口中输入:
m=mean2(I)
图2-1均值的结果显示
2.2标准差计算
计算公式如下:
在MATLAB的函数库中表示标准差的函数为std2,其格式是std2(),括号里面就是待处理分析的信号。
由于标准差反映的是偏离灰度均值的程度,如果标准差越大,则说明灰度级越大,则图像包含的信息就越多。
imshow('
std2(double(I))
图2-2标准差的结果显示
2.3方差计算
在matlab中提供了直接求方差的函数var函数,如果要计算整个矩阵的方差,需要在var函数中输入x(:
),以表示对整个矩阵的计算。
var(double(I(:
)))
命令窗口显示
图2-3方差的结果显示
2.4灰度直方图
直方图是一个显示灰度或索引图像亮度分布情况的图表,他是图像分析中的用来说明图像灰度分布的图形。
在matlab中也有直接绘制直方图的函数——hist函数。
程序如下:
imshow('
gif'
figure;
%创建一个图像显示的窗口
imhist(I),title('
对应直方图'
%MATLAB还提供了histeq函数(自动直方图均衡化)
%histeq功能:
用柱状图均等化增强对比
K=histeq(I);
imshow(K),title('
经直方图均衡化后的图'
imhist(K),title('
直方图均衡化后的直方图'
图2-4原图形的显示
图2-5原图形的直方图
图2-6经直方图均衡化后的图
图2-7直方图均化后的直方图
3快速傅立叶变换
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)。
这里是对图像快速傅里叶变化,用到的是fft2函数。
对图像快速傅里叶变化后,可以对图像进行反傅里叶变换,应用函数ifft2(),如果得到的图像与傅里叶变换前的图像相同,则傅里叶变换正确。
C=fft2(double(I));
%对图像进行傅立叶变换
B=fftshift(fft2(double(I)));
%fft变换结果的逆向限
D=ifft2(B);
%傅立叶反变换
figure
傅里叶变换原图'
figure,
imshow(log(abs(B)+1),[]);
直接变换频谱图'
imshow(abs(D),[]);
反傅里叶变换图'
3.2仿真结果
图3-1傅里叶变换原图
图3-2直接变换频谱图
图3-3反傅里叶变换图
4离散余弦变换(DCT)
4.1原理介绍
在图像的变换和压缩中,常常用到离散余弦变换(DCT)。
DCT具有能使图像的最重要的信息集中在DCT的几个系数上的性能。
DCT变换的全称是离散余弦变换(DiscreteCosineTransform),是指将一组光强数据转换成频率数据,以便得知强度变化的情形。
若对高频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人类的眼睛却是不容易辨认出来。
J=dct2(I);
imshow(log(abs(J)),[]),colormap(jet(64));
J(abs(J)<
10)=0;
K=idct2(J)/255;
imshow(K)
4.2仿真结果
图4-1光频数据修饰图
图4-2DCT变换后得到的图
5心得体会
一个礼拜的课程设计已经结束,
为期一个星期的课程设计已经结束,在这一星期的学习、设计、焊接过程中我感触颇深。
在《信号与系统》课程中,我接触并学习了Matlab软件。
当时只是按照教材一步一步来,并没有灵活掌握Matlab的使用方法。
通过这次基础强化训练,我感觉自己有很大提高。
程序的结构设计问题,对于程序的运行效率非常有帮助。
有时候,编出来的程序,能够运行,但是耗时太长,也就是说程序没有错,但是不适合实际。
或者说,对于规模小的问题能够解决,但是规模大一点的问题就需要很长很长的时间,这就需要对程序的结构和算法问题进行改进。
借助一些Matlab的函数工具词典,就像汉语词典一样,尽量多的去熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不需要你自己编函数。
这一点对我写程序非常有帮助,可以使写出的程序简单,运行效率高,从而节省很多时间。
参考文献
[1]王华等.MATLAB电子仿真与应用教程.北京:
国防工业出版社,2001.
[2]李文锋.图形图像处理与应用.北京:
中国标准出版社,2006.
[3]王洪元.MATLAB语言以及在电子信息工程中的应用.北京:
清华大学出版社,2004
[4]刘文耀.数字图像采集与处理.北京:
电子工业出版社.2007.
[5]贺兴华.MATLAB7.X图像处理.北京:
人民邮电出版社,2006.
[5]章毓晋.图像工程(上册).北京:
清华大学出版社.1999.
本科生基础强化训练成绩评定表
姓名
性别
专业、班级
通信
二维灰度图象的统计分析及FFT变换处理
答辩或质疑记录:
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 灰度 图象 统计分析 FFT 变换 处理
![提示](https://static.bdocx.com/images/bang_tan.gif)