[工学]数字图像实验云南民族大学.doc

上传人:sccc 文档编号:4532975 上传时间:2023-04-26 格式:DOC 页数:70 大小:629.47KB
返回 下载 相关 举报
[工学]数字图像实验云南民族大学.doc_第1页
第1页 / 共70页
[工学]数字图像实验云南民族大学.doc_第2页
第2页 / 共70页
[工学]数字图像实验云南民族大学.doc_第3页
第3页 / 共70页
[工学]数字图像实验云南民族大学.doc_第4页
第4页 / 共70页
[工学]数字图像实验云南民族大学.doc_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《[工学]数字图像实验云南民族大学.doc》由会员分享,可在线阅读,更多相关《[工学]数字图像实验云南民族大学.doc(70页珍藏版)》请在三一办公上搜索。

1、数字图像处理实验指导书吴庆畅 编云南民族大学物理与电子电气信息工程学院前 言图像是一种重要的信息源,图像处理的最终目的就是要帮助人类理解信息的内涵。数字图像处理技术的研究内容涉及光学系统、微电子技术、计算机科学、数学分析等领域,是一门综合性很强的边缘学科。随着计算机的迅猛发展,图像处理技术已经广泛应用于各个领域。“数字图像处理”课程内容主要包括利用计算机对图像信息进行图像采集、图像变换、图像增强与恢复、图像分割、图像分析与理解、图像压缩、图像传输等各种处理的基本理论、典型方法和实用技术。通过本课程的学习,可使学生掌握有关图像处理与图像分析的基本概念、基础理论、实用技术和典型方法。通过该系列实验

2、教学与实践,使学生了解和掌握利用各种图像采集设备_图像扫描仪、数码照相机、录像机、数码摄像机等获取多种格式的静态、动态图像数据的方法及手段,了解图像增强、图像分割、图像理解和分析算法的物理意义;了解图像传输、图像编码等相关技术的基本原理、软/硬件构成以及典型的应用,为将来的研究和应用打下良好的基础。应用于图像处理的计算机软件技术平台很多,如VC+、MATLAB等。本实验指导书选用MATLAB做实验平台,MATLAB是一种基于向量(数组)而不是标量的高级程序语言,而数字图像实际上就是一组有序的离散数据,从而MATLAB从本质上就可以提供对图像处理的技术支持。本实验指导书共有14个实验,编选原则是

3、根据教学大纲和课程教材的教学内容确定,指导老师可根据学时安排等具体情况灵活安排相关实验。书后附有MATLAB数字图像处理基础,可在实验时参考。编写工作得到学院领导及实验中心的大力支持和帮助,在此深表感谢。 编 者目 录前 言1目 录2实验一、数字图像获取- 1 -实验二、图像的基本统计指标- 4 -实验三、图像的傅立叶变换- 7 -实验四、图像的离散余弦变换和哈达玛变换- 9 -实验五、图像的空域变换增强- 12 -实验六、图像的空域滤波增强处理- 16 -实验七、图像的压缩- 21 -实验八、图像复原- 27 -实验九、图像的边缘提取- 31 -实验十、彩色空间的表示及伪彩色图像处理- 35

4、 -实验十一、形态学图像处理- 40 -实验十二、综合实验-图像融合- 44 -实验十三、综合实验-人脸图像识别- 47 -实验十四、综合实验-图像水印- 50 -附录:MATLAB数字图像处理- 53 -参考文献- 67 - 1 -实验一、数字图像获取一、实验目的和要求1、掌握使用扫描仪等数字化设备以及计算机获取数字图像的方法;2、修改图像的存储格式。二、实验设备1、计算机;2、扫描仪(或数码相机、数字摄象机)及其驱动程序盘;3、图像处理软件(画图,photoshop, Microsoft photo edit等);4、记录用的笔、纸。三、实验原理用扫描仪获取图像也是图像的数字化过程的方法之

5、一。扫描仪按种类可以分为手持扫描仪,台式扫描仪和滚筒式扫描仪(鼓形扫描仪)。扫描仪的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。各类扫描仪都标明了它的光学分辨率和最大分辨率。分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。扫描仪工作时,首先由光源将光线照在欲输入的图稿上,产生表示图像特征的反射光(反射稿)或透射光(透射稿)。光学系统采集这些光线,将其聚焦在CCD上,由CCD将光信号转换为电信号,然后由电路部分对这些信号进行A/D转换及处理,产生对应的数字信号输送给计算机。当机械传动机构在控制电路的控制下,带动装有光学

6、系统和CCD的扫描头与图稿进行相对运动,将图稿全部扫描一遍,一幅完整的图像就输入到计算机中去了。图1.1扫描仪的工作原理扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器

7、转变为数字电子信号。至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。在扫描仪的工作过程中,有两个元件起到了关键的作用。一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。CCD是Charge Couple Device的缩写,称为电荷耦合器件,它是利用微电子技术制成的表面光电器件,可以实现光电转换功能。CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用

8、于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,y方向扫描由扫描仪的机械装置来完成。CCD芯片上有许多光敏单元,它们可以将不同的光线转换成不同的电荷,从而形成对应原稿光图像的电荷图像。如果我们想增加图像的分辨率,就必须增加CCD上的光敏单元数量。实际上,CCD的性能决定了扫描仪的x方向的光学分辨率。A/D变换器是将模拟量(Analog)转变为数字量(Digital)的半导体元件。从CCD获取的电信号是对应于图像明暗的模拟信号,就是说图像由暗到亮的变化可以用从低到高的不同电平来表示,它们是连续变化的,即所谓模拟量。A/D变换器的工作是将模拟量数字化,例如将0至1V的线性电压变化表

9、示为0至9的10个等级的方法是:0至小于0.1V的所有电压都变换为数字0、0.1至小于0.2V的所有电压都变换为数字10.9至小于1.0V的所有电压都变换为数字9,实际上,A/D变换器能够表示的范围远远大于10,通常是28=256、210=1024或者212=4096。如果扫描仪说明书上标明的灰度等级是10bit,则说明这个扫描仪能够将图像分成1024个灰度等级,如果标明色彩深度为30bit,则说明红、绿、蓝各个通道都有1024个等级。显然,该等级数越高,表现的彩色越丰富。四、实验步骤1、 扫描仪与计算机和打印机的连接;2、 打开计算机,安装扫描仪的驱动程序;3、 分别相描一幅二值、灰度和彩色

10、图像;4、 调整彩色图像的色彩;5、 将获得的图像的格式转换为“*.gif”的格式,保存或拷贝到MATLAB程序组根目录的“work”文件夹中,以便后面的实验做为“原图像”利用;6、 记录和整理实验报告。五、实验报告内容1、叙述操作过程2、提交用扫描仪扫描得到的图像。六、思考题1、扫描仪有哪些重要指标?2、试述扫描仪的工作原理。3、你使用过哪些图像获取设备呢?实验二、图像的基本统计指标一、实验目的和要求:1、熟悉MATLAB图像处理工具箱的使用;2、掌握图像读取、显示和保存的方法;3、了解图像的统计指标及其在图像处理中的意义二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。三、

11、实验原理1、利用MATLAB图像处理工具箱读写和显示图像文件以及有关统计参数采用imread函数读出图像;采用imwrite函数写入图像;采用imshow函数显示图像。利用iminfo函数了解图像的基本信息;利用corr2、impixel、mean2、pixval等函数计算图像的有关统计参数。详细用法参考相关书籍2、计算图像的有关统计参数图像的大小:图像的大小是图像的重要属性,数值是宽度M(单位:像素)与高度N(单位:像素)的乘积。图像的灰度平均值:该指标是图像f的所有灰度值得算术平均值,反映了一幅图像的平均亮度协方差矩阵:设是大小为M*N的两幅图像,则两幅图像之间的协方差矩阵为: 协方差矩阵

12、是两个图像之间的相关程度的一种度量。协方差矩阵为零时表明两图之间相互独立,反之表示两图像之间相互依赖。越大,相关程度越强。若f=g,则单幅图像的协方差即为该图像的自协方差 图像的灰度标准差:由于方差按照数据的平方来计算,与灰度值相差大,难以直观地衡量,所以对方差开平方得到标准差SD,标准差是评价离散度的较好指标。图像的相关系数:协方差可以作为两幅图像相关性的一种度量,但它受到两图像像素数值的影响。因此,经常将其归一化成相关系数。两个图像的相关系数是描述图像相关程度的统计量,反映了两图像相互的线性联系密切程度的统计参数。相关系数在01范围内变动,其值越接近1,两个图像间的线性相关越密切;其值越接

13、近0,相关越不密切。四、实验步骤1、图像文件的读取格式:A=imread(文件名.文件格式)参考程序:clear;%清除 MATLAB 所有的工作平台close all;%关闭已打开的图形窗口I=imread(pout.tif);%读取图像imshow(I);%显示图像2、检查内存中的图像格式:whos3、保存图像格式:imwrite (A,文件名.文件格式)参考程序:将 pout.tif 图像保存为 pout1.png;imwrite(I,pout1.png);I1=imread(pout1.png);imshow(I1);4、检查新生成文件的内容格式:imfinfo(文件名.文件格式)参考

14、程序:查看刚生成的图像文件 pout1.png 的相关信息:imfinfo(pout1.png) imfinfo 函数语句行尾不加分号5、分别使用相关函数计算读入图像的相关系数、像素的平均值、像素的标准偏移等统计值或者根据实验原理部分的公式自编函数计算统计值并和前面的值比较(参考程序略)。五、实验报告内容1、说明利用MATLAB图像处理工具箱读写和显示图像文件、计算图像文件的有关统计参数的原理;2、记录读取图像的统计数据;3、总结和完善上述图像处理的程序;4、回答思考题,总结实验心得体会。六、思考题1、说明图像统计特征对图像处理的意义。2、比较不同图像的统计特征的差别,并分析原因。实验三、图像

15、的傅立叶变换一、实验目的1、了解图像变换的意义和手段;2、熟悉傅里叶变换的性质;3、熟练掌握FFT变换及其应用;4、通过实验了解二维频谱的分布特点;5、通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。4、移动式存储器(软盘、U盘等)。三、实验原理1、应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。2、傅立叶(Fourier)变换的定义二维Fourier变换和二维

16、离散傅立叶变换为: 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见相关书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。四、实验步骤1、打开计算机,启动MATLAB程序;2、利用MatLab工具箱中的函数编制FFT频谱显示的函数;3、 a).调入、显示“实验一”获得的图像;图像存储格式应为“.gif”;b)对这三幅图像做FFT并利用自编的函数显示其频谱;4、实现数字图像傅立叶变换的部分参考程序:I=imread(原图像名.gif); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维

17、离散傅立叶变换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); %显示原图像的频谱五、实验报告内容1、说明FFT的原理;2、叙述利用MATLAB完成数字图像的FFT的实验过程。3、提交实验的原始图像和结果图像。六、思考题1、图像的二维频谱在显示和处理时应注意什么?2、试就二维离散傅立

18、叶变换的性质应用举例。实验四、图像的离散余弦变换和哈达玛变换一、实验目的1、了解图像离散余弦变换和逆变换的原理;2、理解离散余弦变换系数的特点;3、理解离散余弦变换在图像数据压缩中的应用;4、理解哈达玛变换的原理。二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。4、移动式存储器(软盘、U盘等)。三、实验原理1离散余弦变换离散余弦变换的变换核为余弦函数,计算速度快,有利于图像压缩和其他处理。在大多数情况下,DCT 主要用于图像的压缩操作中,静态图像压缩标准 JPEG 就是采用的 DCT 变换。二维离散余弦变换的正反变换为:2离散哈达玛变换哈达玛变换本质上是一种特殊排序的沃尔什变

19、换,哈达玛变换矩阵也是一个方阵,只包括+1 和-1 两个矩阵元素,各行或各列之间彼此是正交的,即任意二行相乘或二列相乘后的各数之间必定为零。哈达玛变换的最大优点在于它的变换核矩阵具有简单的递推关系,即高阶矩阵可以用两个低阶矩阵求得。最低阶(N=2)的哈达玛矩阵为:2N 阶哈达玛矩阵 H2N 与 N 阶哈达玛矩阵HN之间的递推关系为:四、实验步骤1、打开计算机,启动MATLAB程序;2、对一幅图像进行离散余弦变换和反变换。部分参考代码:RGB=imread(autumn.tif);%load imagefigure(1),imshow(RGB);I=rgb2gray(RGB);%将 RGB 图像

20、转化为灰度图像figure(2),imshow(I);%显示灰度图像J=dct2(I);%余弦变换figure(3),imshow(log(abs(J),),colormap(jet(64),colorbar;J(abs(J)10)=0;%将 DCT 变换值小于 10 的元素设为 0K=idct2(J)/255;figure(4),imshow(K);3、对一幅图像进行哈达玛变换。部分参考程序(以一幅 256256 的图像为例,首先将其分割为 1024 个 88 的子图像块后,然后对每个图像块进行变换,再按照每个系数的方差来排次序,保留方差较大的系数,舍去方差较小的系数。保留原系数的二分之一,

21、即 32 个系数,进行 2:1 的压缩。)cr=0.5; %设置压缩比sig=imread(cameraman.tif);sig=double(sig)/255;%归一化图像figure(1),imshow(sig);m_sig,n_sig=size(sig);%求出图像大小sizi=8;%给出图像分快尺寸和保留系数的个数snum=64;t=hadamard(sizi);%分块和进行哈达玛变换hdcoe=blkproc(sig,sizi sizi,P1*x*P2,t,t);coe=im2col(hdcoe,sizi sizi,distinct);%重新排列系数coe_temp=coe;Y In

22、d=sort(coe);m,n=size(coe);%舍去具有较小方差的系数snum= snum-snum*cr;for i=1:ncoe_temp(Ind(1:snum),i) =0;endre_hdcoe=col2im(coe_temp,sizi sizi,m_sig n_sig,distinct);%重建图像re_sig=blkproc(re_hdcoe,sizi sizi,P1*x*P2,t,t);re_sig=double(re_sig)/64;%系数归一化figure(2);imshow(re_sig);error=sig.2-re_sig.2;%计算归一化图像的均方差MSE=su

23、m(error(:)/prod(size(re_sig);五、实验报告内容1、说明离散余弦正、反变换的原理;2、叙述实验过程,完善各程序。3、提交实验的原始图像和结果图像。4、回答思考题六、思考题1、分析重建图像、误差图像和DCT系数的关系。2、实验步骤3中若将图像压缩比减少到 8:1,压缩比cr应设置为多少? 实验五、图像的空域变换增强一、实验目的1、掌握灰度直方图的概念及其计算方法;2、掌握直方图均衡化和直方图规定化的计算过程;3、熟悉MATLAB中图像增强的相关函数;二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。4、移动式存储器(软盘、U盘等)。三、实验原理灰度直方图

24、(histogram)是灰度级的函数,它表示图像中具有每种灰度级的象素的个数,反映图像中每种灰度出现的频率。一般说来,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图像的最基本的统计特性。从概率论的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数PDF(Probability Density Function),而概率分布函数就是直方图的累积和,即概率密度函数的积分。1直方图均衡化直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。设灰度变换s =T(r)为斜率有限的非减连续可微函数,它将输入图像

25、A(x, y) 转换为输出图像 B(x, y) ,输入图像的直方图为 Ha(r) ,输出图像的直方图为 Hb(s),它们的关系如下:直方图均衡化的基本思想是把原始图像的直方图变换成均匀分布的形式图像灰度值的动态范围,从而达到了增强图像整体对比度的效果。具体方法 1) 列出原始图像的灰度级 Sk,k=0,1L-1;其中 L 是灰度级的个 2) 统计原始图像各灰度级的象素数目nk.。 3) 计算原始图像直方图各灰度级的频率数。 4) 计算原始图像的累计直方图。 5) 取整计算。 6) 确定映射关系。 7) 统计新直方图各个灰度级的象素数目nk。 8) 计算新的直方图。2灰度变换灰度变换是图像增强的

26、另一种重要手段,它可使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。1)线性灰度变换(1)曝光不足的图像增强变换关系为:(2)灰度级集中的图像增强变换关系为:2)分段线性灰度变换为了突出图像中感兴趣的目标或者灰度区间,相对抑制那些不感兴趣的灰度区域,而不牺牲其他灰度级上的细节。例如:设图像中有30个灰度级,分别为 1,2,30,增强灰度级为(10,20)区域的图像细节。变换关系为:四、实验步骤1、打开计算机,启动MATLAB程序;2、调入数字图像,并进行计算机均衡化处理;(1)直方图均衡化增强图像对比度的部分参考程序:I=imread(原图像名.gif); % 读入原图像J=

27、histeq(I); %对原图像进行直方图均衡化处理Imshow(I); %显示原图像Title(原图像); %给原图像加标题名Figure;imshow(J); %对原图像进行屏幕控制;显示直方图均衡化后的图像Title(直方图均衡化后的图像) ; %给直方图均衡化后的图像加标题名Figure; subplot(1,2,1) ;%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图Imhist(I,64); %将原图像直方图显示为64级灰度Title(原图像直方图) ; %给原图像直方图加标题名Subplot(1,2,2); %作第2幅子图Imhist(J,64) ; %将

28、均衡化后图像的直方图显示为64级灰度Title(均衡变换后的直方图) ; %给均衡化后图像直方图加标题名(2)通过灰度变换调整图像对比度部分参考程序:I=imread(tire.tif);J=imadjust(I,0.2,0.4,);subplot(2,2,1),imshow(I);subplot(2,2,2),imshow(J);subplot(2,2,3),imhist(I);subplot(2,2,4),imhist(J);3、显示原图像的直方图和经过均衡化处理过的图像直方图。4、记录和整理实验报告五、实验报告内容1、叙述实验过程,完善各程序;2、提交实验的原始图像和结果图像,总结各方法

29、的特点。3、完成思考题。六、思考题1、直方图是什么概念?它反映了图像的什么信息?2、直方图均衡化是什么意思?它的主要用途是什么?3、用matlab实现对一幅灰度图像进行分段线形变换处理,试比较与直方图均衡化处理的异同。实验六、图像的空域滤波增强处理一、实验目的1、了解空域滤波增强的基本原理;2、掌握平滑滤波器和锐化滤波器的使用;3、掌握图像中值滤波增强的使用;4、掌握低通滤波器和高通滤波器的使用二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。4、移动式存储器(软盘、U盘等)。三、实验原理1、空域滤波增强空域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值

30、都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。空域滤波一般分为线性滤波和非线性滤波两类。线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。结合这两种分类方法,可将空间滤波增强分为

31、四类: 1) 线性平滑滤波器(低通) 2) 非线性平滑滤波器(低通) 3) 线性锐化滤波器(高通) 4) 非线性锐化滤波器(高通)空间滤波器都是基于模板卷积,其主要工作步骤是: (1) 将模板在图中移动,并将模板中心与图中某个像素位置重合; (2) 将模板上的系数与模板下对应的像素相乘; (3) 将所有乘积相加; (4) 将和(模板的输出响应)赋给图中对应模板中心位置的像素。一、平滑滤波器(1)线性平滑滤波器线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对33的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。

32、MATLAB提供了fspecial函数生成滤波时所用的模板,并提供filter2函数用指定的滤波器模板对图像进行运算。(2)非线性平滑滤波器中值滤波器是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计算的不是加权求和,而是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。MATLAB提供了medfilt2函数来实现中值滤波。二、锐化滤波器图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。(1)线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围的系数都是

33、负的,所有的系数之和为0。对33的模板来说,典型的系数取值为:(2)非线性锐化滤波邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。图像处理中最常用的微分方法是利用梯度。常用的空域非线性锐化滤波微分算子有sobel算子、prewitt 算子、log算子等。四、实验步骤1、打开计算机,启动MATLAB程序;2、调入数字图像,并进行图像的空域滤波增强处理;(1)均值滤波,部分参考程序。 I=imread(eight.tif); J=imnoise(I,salt & pepper,0.02);%给图像加入椒盐噪声 subplot(1,2,1); imshow(I); title(原始

34、图像); subplot(1,2,2); imshow(J); title(噪声图像); K1=filter2(fspecial(average,3),J)/255;%进行 33 的均值滤波 K2=filter2(fspecial(average,5),J)/255;%进行 55 的均值滤波 K3=filter2(fspecial(average,7),J)/255;%进行 55 的均值滤波 figure,imshow(K1); title(33 模板均值滤波); figure,imshow(K2); title(55 模板均值滤波); figure,imshow(K3); title(77

35、模板均值滤波);(2)中值滤波,部分参考程序。I=imread(eight.tif);J=imnoise(I,salt & pepper,0.02);%给图像加入椒盐噪声subplot(2,2,1);imshow(J);title(噪声图像);K1=medfilt2(J,3 3);%进行 33 的中值滤波K2=medfilt2(J,5 5);%进行 55 的中值滤波K3=medfilt2(J,7 7);%进行 55 的中值滤波subplot(2,2,2);imshow(K1);title(33 模板中值滤波);subplot(2,2,3);imshow(K2);title(55 模板中值滤波)

36、;subplot(2,2,4);imshow(K3);title(77 模板中值滤波);(3)图像锐化,部分参考程序。I=imread(saturn.tif);h=fspecial(laplacian);%得到用于滤波的滤波器I2=filter2(h,I);subplot(1,2,1);imshow(I);subplot(1,2,2);imshow(I2);(4)图像非线性锐化,部分参考程序 I=imread(rice.tif); subplot(2,2,1); imshow(I); h1=fspecial(sobel); I1=filter2(h1,I); subplot(2,2,2); i

37、mshow(I1); title(sobel 算子滤波); h2=fspecial(prewitt); I2=filter2(h2,I); subplot(2,2,3);imshow(I2);title(prewitt 算子滤波);h3=fspecial(log);I3=filter2(h3,I);subplot(2,2,4);imshow(I3);title(log 算子滤波);3、显示原图像和经过处理过的图像,进行效果比较。4、记录和整理实验报告五、实验报告内容1、叙述实验过程,完善各程序。2、提交实验的原始图像和结果图像,总结各方法的特点。3、完成思考题。六、思考题1、简述均值滤波、中值

38、滤波的原理。2、一幅图像在传输过程中受到了均值为0,方差为0.01的高斯噪声的干扰,试对噪声图像进行增强处理。实验七、图像的压缩一、实验目的1、理解有损压缩和无损压缩的概念;2、理解图像压缩的主要原则和目的;3、了解几种常用的图像压缩编码方式;二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸;4、移动式存储器(软盘、U盘等);5、常用图像处理应用软件。三、实验原理1、图像压缩原理图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压

39、缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。(1)冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是说解码图像和原始图像是有

40、差别的,允许有一定的失真。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:(1)无损压缩编码种类哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。(2)有损压缩编码种类预测编码,DPCM,运动补偿;频率域方法:正交变换编码(如DCT),子带编码;空间域方法:统计分块编码;模型方法:分形编码,模型基编码;基于重要性:滤波,子采样,比特分配,向量量化;(3)混合编码。有JBIG,H261,JPEG,MPEG等技术标准。本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩和行程编码(Run Length Encoding, RLE)

41、。1) 离散余弦变换(DCT)图像压缩原理离散余弦变换DCT在图像压缩中具有广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式)相比,JPEG是目前静态图像中压缩比最高的。JPEG比其他几种压缩比要高得多,而图像质量都差不多(JPEG处理的图像只有真彩图和灰度图)。正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中。JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基本系统(Baseline)。用DCT压缩图像的过程为:(1)首先将

42、输入图像分解为88或1616的块,然后对每个子块进行二维DCT变换。(2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。用DCT解压的过程为:(1)对每个88或1616块进行二维DCT反变换。 (2)将反变换的矩阵的块合成一个单一的图像。余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系数值非常接近于0。对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。所以,利用DCT变换进行图像压缩可以节约大量的存储空间。压缩应该在最合理地近似原图像的情况下使用最少的系数。使用系数的多

43、少也决定了压缩比的大小。在压缩过程的第2步中,可以合理地舍弃一些系数,从而得到压缩的目的。在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。2)行程编码(RLE)原理:例如如下这幅的二值图像,如果采用行程编码可以按如下格式保存其中10和8表示图像的宽和高。在这个小例子中行程编码并没有起到压缩图像的作用。这是由于这个图的尺寸过小,当图像尺寸较大时行程编码还是不错的无损压缩方法。对于灰度图像和二值图像,用行程编码般都有很高的压缩率。行程编码方法实现起来很容易,对于具有长重复值的串的压缩编码很有效,例如:对于有大面积的阴影或颜色相同的图像,使用这种方法压缩效果很好。很多位图文件格

44、式都采用行程编码,如TIFF,PCX,GEM,BMP等。四、实验步骤1、将原图像在Photoshop(或其它)软件中打开,分别以不同的位图文件格式进行“另保存”,比较它们的数据量。2、打开计算机,启动MATLAB程序;3、调入数字图像,并进行图像的压缩处理;(1)利用DCT变换进行图像压缩的部分MATLAB参考程序。RGB = imread(原图像名.tif);I = rgb2gray(RGB);J = dct2(I);imshow(log(abs(J),), colormap(jet(64), colorbarJ(abs(J) 10) = 0;K = idct2(J);figure,imshow(I)figure,imshow(K,0 255);(2)利用DCT进行JPEG图像压缩。I=imread(原图像名.tif); %读入原图像;I=im2double(I); %将原图像转为双精度数据类型;T=dctmtx(8); %产生二维DCT变换矩阵B=blkproc(I,8 8,P1*x*P2,T,T); %计算二维DC

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

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号