图像处理DWT离散小波变化Word格式文档下载.docx
《图像处理DWT离散小波变化Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图像处理DWT离散小波变化Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
初始条件
1MATLAB软件
2数字信号处理与图像处理基础知识
时间安排:
第19周,安排任务
第20周,仿真设计(鉴主13楼计算机实验室)
第21周,完成(答辩,提交报告,演示)
指导教师签名:
20010年7月14日
系主任(或责任教师)签名:
2010年7月14日
目录
摘要1
Abstract2
1数据采集3
1.1图像的选取3
1.2MATLAB读取方法3
1.2.1编辑M文件3
1.2.2图像的读取与灰度图的转换4
1.2.3灰度值的获取5
2数据统计处理6
2.1均值计算6
2.1.1原理及计算公式6
2.2各点像素灰度值的标准差计算7
2.3各像素点灰度值的方差8
2.4灰度直方图9
3.离散小波变换10
3.1离散小波变换原理10
3.2变换及反变换程序和结果10
3.2.1离散小波变换10
3.2.2离散小波反变换11
5总结(心得体会)14
6参考文献15
摘要
MATLAB是矩阵实验室之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能,MATLAB语言在各国高校与研究单位起着重大的作用。
本次基础强化训练的目的在于较全面了解常用的数据分析与处理原理及方法,能够运用相关软件进行模拟分析。
通过对采集的图像进行常规的数学统计数据处理和计算图像各象素点灰度值得均值、标准差、方差,并绘出灰度直方图;
最后进行各种变换,从而达到本次强化训练的目的。
Abstract
MATLABisthemeaningofthematrixlaboratory.Besidestheremarkablenumericalcalculusability,ithasalsoprovidedthecompetencelevelmarkcomputation,thelanguageprocessing,visualizationfunctionsandsoonmodellingsimulationandreal-timecontrol,theMATLABlanguageisplayingthesignificantroleinvariouscountries'
universityandtheresearchunit.
Thisfoundationstrengtheningtraining'
sgoalliesinthethoroughunderstandingcommonlyuseddataanalysisandtheprocessingprincipleandthemethod,andbeingabletoutilizetherelatedsoftwaretocarryonthesimulationanalysis.Throughcarryingonconventionaltothegatheringimagemathematicsstatisticaldataprocessingandacomputationimagevariouspictureelementsgradationisworththeaveragevalue,thestandarddeviation,thevariance,anddrawsthegradationhistogram;
Finallycarriesonthekindsoftransformation,thusachievesthegoalofthisstrengthenedtraining.
1数据采集
1.1图像的选取
从互联网上下载一张图片,如图1,像素为413*583,满足像素要求,但由于图像为彩图。
为满足要求,在下面的过程中会将彩图转换为灰度图。
图1原彩色图
1.2MATLAB读取方法
1.2.1编辑M文件
MATLAB是解释型语言,就是说MATLAB命令行中敲入的命令在当前MATLAB进程中被解释运行。
为方便起见,有两种方法可以使MATLAB的力量得到扩展——脚本和函数。
这两种方法都用像emacs一样的文本编辑器中编写的m文件(因为扩展名是.m所以这样命名,m文件还称点m文件)。
m文件的好处在于它可以保存命令,还可以轻易地修改命令而无需重新敲入整个命令行。
新建m文件的方法为File->
New->
BlankM-File,如图2所示。
图2新建m文件
1.2.2图像的读取与灰度图的转换
1.图像的读取:
利用函数imread()可完成图形图像文件的读取,语法:
a=imread(filename,fmt)
[X,map]=imread(filename,fmt)
[...]=imread(filename)
[...]=imread(filename,idx)(只对TIF格式的文件)
[...]=imread(filename,ref)(只对HDF格式的文件)
通常,读取的大多数图像均为8bit,当这些图像加载到内存中时,Matlab就将其存放在类uint8中。
此为Matlab还支持16bit的PNG和TIF图像,当读取这类文件时,Matlab就将其存贮在uint16中。
对于索引图像,即使图像阵列的本身为类uint8或类uint16,imread函数仍将颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。
2.灰度图的转换:
为了转换为灰度图,利用MATLAB中的rgb2gray()命令实现RGB图像到灰度图像的转化。
转化后在使用命令isgray()判断图像是否变为灰度图,如果是灰度图将返回为1,不是将返回0。
灰度图转换成功后,将转化后的灰度图读取出来。
相关的MATLAB命令为:
a=imread('
F:
\tuo.jpg'
);
%读取图像路径
figure,
subplot(1,2,1)
imshow(a);
%显示图像
title('
原彩色图像'
)
A=rgb2gray(a);
%转化成灰度图
isgray(A)
subplot(1,2,2)
imshow(A);
转化成的灰度图'
键入isgray(A)后,显示的返回值ans=1,证明转化成功。
原彩图读取和灰度图转化图如图3所示。
图3原彩图读取和灰度图转化图
1.2.3灰度值的获取
直接在MATLAB命令行中输入灰度图像所存储的文件名“A”记得获得其灰度值,部分值如图4所示。
图4灰度矩阵截图
2数据统计处理
2.1均值计算
2.1.1原理及计算公式
用mean(A)(默认dim=1)就会求每一列的均值,结果如图5所示。
用mean2(A)求出所有像素的均值,结果如图6所示。
图5每一列的均值图
图6所有像素平均值结果
2.2各点像素灰度值的标准差计算
图像矩阵标准差的计算与平均值的类似,Matlab中提供的函数为std和std2,用途和用法与均值相同,每一列标准差值如图7所示,所有像素标准差如图8所示。
输入MATLAB命令:
std(double(A))
图7每一列标准差值图
std2(A)
图8所有像素标准差结果图
2.3各像素点灰度值的方差
在方差的计算中,Matlab提供的函数为var,与mean和std函数相同,它只能计算矩阵中某一列的方差值,要计算整个矩阵的方差值,需要在var函数中输入x(:
)以表示对整个矩阵的计算。
var(double(A)),结果如图9所示。
图9方差结果截图
var(double(A(:
))),结果如图10所示。
图10所有像素方差图
2.4灰度直方图
相关的MATLAB代码:
/tu.jpg'
imhist(A);
title(‘灰度直方图’)
所得出的灰度直方图如图11所示。
图11灰度直方图
3.离散小波变换
3.1离散小波变换原理
小波变换是现代谱分析工具,它既能考察局部时域过程的频域特征,又能考察局部频域过程的时域特征,因此即使对于非平稳过程,处理起来也得心应手。
它能将图像变换为一系列小波系数,这些系数可以被高效压缩和存储,此外,小波的粗略边缘可以更好地表现图像,因为它消除了DCT压缩普遍具有的方块效应。
3.2变换及反变换程序和结果
3.2.1离散小波变换
figure
原图'
[m,n]=wavedec2(1,2,'
bior3.7'
figure;
c=appcoef2(m,n,'
1);
subplot(1,2,1);
imshow(c,[]);
一层小波变换结果'
d=appcoef2(m,n,'
2);
subplot(1,2,2);
imshow(d,[]);
二层小波变换结果'
图14小波变换结果
3.2.2离散小波反变换
[A,M]=imread('
\tu.jpg'
'
jpg'
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
i=rgb2gray(A);
[cA,cH,cV,cD]=dwt2(i,'
%小波变换
A=upcoef2('
a'
cA,'
1);
%重构细节分量信号
H=upcoef2('
h'
cH,'
%重构水平分量信号
V=upcoef2('
v'
cV,'
%重构垂直分量信号
D=upcoef2('
d'
cD,'
%重构对角线分量信号
%显示各分量
subplot(2,2,1);
image(wcodemat(A,192));
细节分量'
subplot(2,2,2);
image(wcodemat(H,192));
水平分量'
subplot(2,2,3);
image(wcodemat(V,192));
垂直分量'
subplot(2,2,4);
image(wcodemat(D,192));
对角线分量'
d=idwt2(cA,cH,cV,cD,'
imshow(d,[]);
%显示重构灰度图
反变换后的图像'
各分量图如图15所示。
反变换后的图像如图16所示。
图15各分量图
图16小波反变换后图形
5总结(心得体会)
这次的强化训练结束了,虽然开始的时候不知道从何入手,该怎么样达到要求,完成设计,但是经过一步步的摸索和总结,最后总算完成了这次任务。
这次基础强化训练主要是让我们学习使用MATLAB,利用对图像的处理来学习MATLAB这个软件。
通过强化训练,我认识到了MATLAB功能非常的强大,使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。
我也熟悉了MATLAB的工作环境,可以很熟练的对MATLAB进行常规的操作,快速进行程序编辑和仿真。
完成任务后才发现这次训练的内容并不算难。
首先要做的工作就是如何把图像信息写入到MATLAB中,其次就是对图像的信息进行分析,主要是得出图像的一些参数,进而来考察图像的质量等方面的问题。
最后就是对图像进行简单的变化,这里分别采用了傅里叶变换,离散余弦变换,离散小波变换。
以上的内容全都要通过程序的编写来完成,不过主要的操作是对函数的调用,这就要我们熟悉MATLAB的一些函数的基本功能以及它们的基本语句。
当然,经过了这次基础强化训练,我也发现了自己的很多不足。
但是通过自己的动手动脑,既增加了知识,又给了我专业知识以及专业技能上的提升,我也会更加努力,认真学习,争取在以后的课程中做得更好!
6参考文献
[1]王洪元主编.《MATLAB语言以及在电子信息工程中的应用》.清华出版社.2004.12
[2]李文锋编著.《图形图像处理与应用》.中国标准出版社.2006.06
[3]贺兴华等著.《MATLAB7.X图像处理》.人民邮电出版社.2006.11.01
[4]刘文耀编著.《数字图像采集与处理》.电子工业出版社.2007.08.01
[5]陈怀琛主编.《数字信号处理教程——MATLAB释义与实现》.电子工业出版社.2004.06
[6]徐建华编著.《图像处理与分析》.科学出版社.1994.05
[7]赵树杰编著.《数字图像处理》.西安电子科技大学出版社.2000.03