专业综合实验指导书

上传人:痛*** 文档编号:90113860 上传时间:2022-05-14 格式:DOC 页数:30 大小:165KB
收藏 版权申诉 举报 下载
专业综合实验指导书_第1页
第1页 / 共30页
专业综合实验指导书_第2页
第2页 / 共30页
专业综合实验指导书_第3页
第3页 / 共30页
资源描述:

《专业综合实验指导书》由会员分享,可在线阅读,更多相关《专业综合实验指导书(30页珍藏版)》请在装配图网上搜索。

1、专业综合实验指导书数字图像处理(电子信息专业用)长春工业大学计算机科学与工程学院数字图像处理课程组1 / 30一、目的和意义 专业综合实验旨在将图像处理基础理论论述与软件实践方法相结合,指导学生如何解决图像处理过程中经常遇到的实际问题,提高学生的综合素质。所选择的软件工具来自公认的科学计算方面的引领者MathWorks公司的MATLAB图像处理工具箱,它为数字图像处理提供了一个稳定、宽泛的软件实现平台,其在教育和工业应用中同样占有优势。本书重点强调了图像处理的基本问题的实现,帮助学生巩固对相关理论知识的理解。二、实验要求 结合图像处理的基本知识,培养学生运用MATLAB软件进行编程并仿真实现,

2、提高软件设计和编程能力。通过分析实验结果,总结及撰写技术分析报告。三、主要仪器设备及环境微机Pentium 4 以上,32M以上内存,安装好WINDOWS XP以上、MATLAB7.0等有关软件。四、实验内容(一) 常规实验项目 1实验一 图像显示2实验二 图像变换3实验三 图像增强4实验四 图像分割5实验五 图像压缩6实验六 图像运算与区域处理(二) 综合设计性实验项目1. 设计一 医学图像边缘检测(血细胞、血管、肝脏等)2. 设计二 车牌图像定位、识别3. 设计三 印刷字符分割、手写体数字识别4. 设计四 图像编码算法研究(Huffman、游程编码、香农编码等)5. 设计五 运动图像复原算

3、法设计6. 设计六 指纹图像特征提取算法设计2 / 307. 设计七 彩色图像增强算法设计实验一 图像显示一、 实验目的MATLAB的图像处理工具箱提供了多种图像显示和颜色、光照技术。本实验将具体介绍Matlab中用于图像显示、颜色转换的各个函数的具体用法。二、 实验要求1 学习图像读取、显示及保存方法。2 学习特殊图像显示技术3 学习图像颜色模型转换技术三、 实验内容1 读取图像使用函数imread可以将图像读入MATLAB环境,imread 的语法为 imread(filename)其中,filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。注意,此处的单引号用以界定fi

4、lename字符串。如命令行f=imread(d:imagerice.tif);将TIFF图像rice.tif读入图像数组f。命令行结尾处的分号用于取消输出。若命令行未包含分号,则MATLAB会立即显示该行命令的运算结果。MATLAB桌面工具条上的当前目录窗口会显示MATLAB的当前工作路径。当filename中不包含任何路径信息时,imread会从当前目录中寻找并读取图像文件。函数size可以给出一幅图像的行数和列数:size(f)ans = 256 256也可使用如下形式自动确定一幅图像的大小:M,N=size(f);将返回图像的行数(M)和列数(N)。2 显示图像使用函数imshow来显

5、示图像,该函数在显示图像的同时创建了一个图形图像句柄对象,可以通过句柄的一些参数设置显示模式。例1 显示灰度图像 J=imread(eight.tif);subplot(121);imshow(J,100,200);%在灰度范围100,200内显示图像subplot(122);imshow(J,20);%以灰度等级20显示图像当用imshow显示另一幅图像时,MATLAB会在屏幕上用新图像替换旧图像。为保持第一幅图像并同时显示第二幅图像,可以使用figure函数:4 / 30例2 显示二值图像BW= imread(circles.tif);imshow(BW) %显示二值图像figure(2)

6、imshow(BW) %显示颜色反转后的二值图像3 保存图像使用函数imwrite可以将图像写到磁盘上,该函数的语法为 imwrite(f,filename)若filename中不包含路径信息,则imwrite会将文件保存到当前的工作目录中。另一种常见但只适用于JPEG图像的函数语法是 imwrite(f,filename.jpg,quality,q)其中,q是一个在0到100之间的整数(由于JPEG压缩,q越小,图像的退化就越严重)。4特殊图像显示技术例3 添加颜色条I=imread(saturn.tif);H=121;000;-1-2-1;I2=filter2(h,I);imshow(I2

7、,),colorbar 例4 显示多图像序列mri=uint8(zeros(128,128,1,27);for frame=1:27 mri(:,:,:,frame),map=imread(mri.tif,frame);endimshow(mri(:,:,:,3),map);例5 显示多帧图像mri=uint8(zeros(128,128,1,27);for frame=1:27 mri(:,:,:,frame),map=imread(mri.tif,frame);end%montage(mri,map);例6 动画显示mri=uint8(zeros(128,128,1,27);for fra

8、me=1:27 mri(:,:,:,frame),map=imread(mri.tif,frame);endmov=immovie(mri,map);movie(mov);练习使用:zoom on, zoom off, imresize, imadjust, subimage, imrotate, imcrop, warp例7 把真彩色图像映射到柱面上x,y,z=cylinder;RGB=imread(eight.tif);4 / 30warp(x,y,z,RGB); 5图像颜色转换技术(1) 褪色函数 imapprox, rgb2ind例8 图像的褪色X,map=imread(canoe.t

9、if);Y,newmap=imapprox(X,map,20);imshow(X,map)figure, imshow(Y,newmap)(2) 练习使用颜色模型转换函数:rgb2hsv, hsv2rgb, ntsc2rgb, rgb2ntsc, rgb2ycbcr, ycbcr2rgb, rgb2gray, im2bwrgb2hsv 函数将RGB模型转换为HSV模型。其调用格式如下:hsvmap=rgb2hsv(rgbmap) 将RGB空间中m3的色彩表rgbmap转换成HSV色彩空间的颜色映射表hsvmap;HSV=rgb2hsv(RGB) 将真彩色图像RGB转换为HSV色彩空间中的图像H

10、SV。rgb2ntsc函数将RGB模型转换为NTSC模型。其调用格式如下:yiqmap=rgb2ntsc(rgbmap) 将RGB空间中m3的色彩表rgbmap转换成YIQ色彩空间的颜色映射表yiqmap;YIQ=rgb2ntsc(RGB) 将真彩色图像RGB转换为YIQ色彩空间中的图像YIQ。rgb2ycbcr函数将RGB模型转换为YCbCr模型。其调用格式如下:ycbrmap=rgb2ycbcr(rgbmap) 将RGB空间中的色彩表rgbmap转换成YCbCr空间中的颜色映射表ycbrmap;Ycbcr=rgb2ycbcr(RGB) 将真彩色图像RGB转换为YCbCr空间中的图像YCbC

11、r。hsv2rgb函数将HSV模型转换为RGB模型。其调用格式如下:rgbmap=hsv2rgb(hsvmap) 将HSV色彩空间的颜色映射表hsvmap转换成RGB空间中的色彩表rgbmap,rgbmap和hsvmap都是m3的矩阵;RGB=hsv2rgb(HSV) 表示将HSV色彩空间的图像HSV转换为真彩色图像RGB。ntsc2rgb函数将NTSC色彩空间值转换为RGB色彩空间值。其调用格式如下:rgbmap=ntsc2rgb(yiqmap) 将YIQ空间中m3的颜色映射表yiqmap转换成RGB空间中的色彩表rgbmap;RGB=ntsc2rgb(YIQ) 将NTSC色彩空间的图像YI

12、Q转化为真彩色图像RGB。ycbc2rgb函数YCbCr模型转换为RGB模型。其调用格式如下:rgbmap=ycbcr2rgb(ycbcrmap) 将YCbCr色图ycbcrmap转换到RGB色图rgbmap。rgbmap和ycbcrmap都是m3的数组。RGBycbcr2rgb(YCBCR) 将YCbCr图像YCBCR转换成真彩色图像RGB。5 / 30四撰写技术分析报告(略)实验二 图像变换一、 实验目的学习灰度变换修正图像的颜色和灰度的方法。学习图像直方图的生成和修正技术的原理和实现方法,理解其对于观察图像的意义。了解图像变换的意义和手段,熟练掌握傅里叶变换等图像正交变换方法,了解二维频

13、谱的分布特点。二、 实验要求1 掌握灰度变换函数的用法,对图像进行灰度变换,增强对比度,显示变换前后的图像以及它们的灰度直方图。2 选择一幅直方图不均匀的图像,对其作直方图均衡化处理,显示处理前后的图像以及它们的灰度直方图。3 学习傅立叶变换等正交变换技术。三、实验内容1灰度调整函数imadjust是对灰度图像进行灰度变换的基本工具。其语法为 g=imadjust(f,low_in high_in,low_out high_out,gamma)此函数将图像f中的亮度值映象到g中的新值,即将low_in至high_in之间的值映射到low_out high_out之间的值。low_in以下与hi

14、gh_in以上的值被剪切掉了。输入图像应为uint8类、uint16类或double类图像,输出图像与输入图像有着相同的类。需要注意的是,不管f属于哪一个类,函数imadjust指定的强度值的范围均为0,1。如果f是uint8类图像,则函数imadjust将乘以255来确定应用中的实际值;如果f是uint16类图像,则函数imadjust将乘以65 535。为low_in high_in或low_out high_out使用空矩阵( )会得到默认值0 1。若high_out小于low_out,则输出亮度会反转。参数gamma指定了曲线的形状,该曲线用来映射f的亮度值,以便生成图像g。gamma

15、的取值决定了输入图像到输出图像数据的映射方式,gamma1,增强暗度,只有当gamma1(缺省情况)时,这种映射才是线性映射。例1 灰度调整举例Iimread(cameraman.tif);J=imadjust(I,0 0.2),0.5 1;imshow(I);figure,imshow(J)这样的操作将显著增加图像的对比度,同时也扩宽了原始图像上黑色部分的变动范围,从而使摄影师所穿着的衣服的细节能够更容易分辨。2直方图均衡化直方图是图像亮度分布的概率密度函数,是图像最基本的统计特征,它反映的是图像的灰度值的分布情况和图像的明暗分布规律,。直方图操作能有效地用于图像增强,其固有的信息还可用于在

16、其他图像处理应用中,如图像压缩与分割。直方图在软件中易于计算,也适用于商用硬件设备,因此,它们成为了实时图像处理的一个流行工具。7 / 30直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。直方图生成函数为imhist,其基本语法为h=imhist(f,b) 其中,f为输入图像,h为其直方图,b是用于形成直方图的灰度级个数。若b未包含在此变量中,则其默认值为256。若处理的一幅u

17、int8类图像,且b2,则亮度标度范围被分成两个部分:0至127和128至255。所得的直方图将有两个值:h(1)等于图像在区间0,127内的像素总数,h(2)等于图像在区间128,255内的像素总数。直方图均衡化由工具箱中的函数histeq实现,该函数的语法为g=histeq(f,nlev)式中,f为输入图像,nlev是为输出图像指定的灰度级数。若nlev等于L(输入图像中可能的灰度级的总数),则histeq直接执行变换函数T(rk)。若nlev小于L,则histeq试图划分灰度级,以便能够得到较为平坦的直方图。histeq中的默认值为nlev64。例2 直方图均衡化示例I=imread(t

18、ire.tif); % 读入原图像J=histeq(I); %对原图像进行直方图均衡化处理imshow(I); %显示原图像title(原图像); %给原图像加标题名figure,imshow(J); %对原图像进行屏幕控制;显示直方图均衡化后的图像title(直方图均衡化所得图像); %给直方图均衡化后的图像加标题名figure;subplot(121); %对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图imhist(I,64); %将原图像直方图显示为64级灰度title(原图像直方图); %给原图像直方图加标题名subplot(122); %作第2幅子图imhis

19、t(J,64); %将均衡化后图像的直方图显示为64级灰度title(均衡变换后的直方图); %给均衡化后图像直方图加标题名直方图均衡化修正后,图像直方图灰度间隔被拉大了,处理后的图像直方图分布更均匀了,图像在每个灰度级上都有像素点。从处理前后的图像可以看出,许多在原始图像中看不清楚的细节在直方图均衡化处理后所得到的图像中都变得十分清晰。从而实现图像增强,有利于图像的分析与识别。3直方图匹配(规定化)函数histeq实现直方图匹配的形式为:7 / 30g=histeq(f,hspec)其中,f为输入图像,hspec为指定的直方图(一个由指定值构成的行向量),g为输出图像,其直方图近似于指定的直

20、方图hspec。向量中包含对应于等分空间bin的整数值。histeq的一个特性是在length(hspec)远小于图像f中的灰度级数时,图像g的直方图通常会较好地匹配hspec。例3 直方图规定化I=imread(tire.tif);hgram=50:2:250; %规定化函数J=histeq(I,hgram);imshow(J)title(直方图规定化所得图像)figure,imhist(J,64)title(直方图规定化变换后的直方图)4 图像正交变换 图像二维正交变换在数字图像处理中扮演着重要的角色,如,在傅里叶变换(FT, Fourier Transform)域中,高频分量往往对应图像

21、的边缘,利用这一性质可以从图像中抽取特征。又如,傅里叶变换后,图像能量往往集中在少数项上,或者说能量主要集中在低频分量上,于是通过对低频成分分配较多的比特数,对高频成分分配较少的比特数,即可实现图像数据压缩。再者,舍弃变换函数矩阵中某些幅度小的系数,可缩减计算维数,提高计算速度等等。在实际应用中离散傅里叶变换DFT及其逆变换可以通过使用快速傅里叶变换(FFT)算法来实现。一个大小为MN的图像数组f可以通过使用函数fft2得到,该函数的简单语法为:Y=fft2(X) 返回二维离散傅里叶变换,结果Y和X的大小相同。仍为MN,数据排列形式为:数据的原点在左上角,而四个四分之一周期交汇于频率矩形的中心

22、。使用傅里叶变换时,需要对输入数据进行零填充。在这种情况下,调用格式如下:Y=fft2(X,P,Q)使用该语法,fft2将使用所要求的0的个数对输入图像进行填充,以便结果函数的大小为PQ。傅里叶频谱可以使用函数abs来获得:F=abs(Y)该函数计算数组的每一个元素的幅度(实部和虚部平方和的平方根)。函数fftshift将变换的原点移动到频率矩形的中心。其语法为:C=fftshift(Y)其中,Y是用fft2计算得到的变换,C是已居中的变换。该函数变换相当于将输入图像乘以(-1)x+y所得到的结果。但要注意的是,这两种处理过程不可互换。即fftshift(fft2(f)fft2(fftshif

23、t(f)。可以用下面的命令行显示居中后的频谱:C=fftshift(Y);imshow(abs(C2), )虽然频谱移中后适于观看了,但该频谱中值的动态范围(0到204 000)与8比特显示相比要大得多。此时可以使用对数变换来解决该问题。如:9 / 30F2=log(1+abs(C);imshow(F2, )傅里叶逆变换可以用函数ifft2实现,其基本语法为 f=ifft2(F)其中,F是傅里叶变换,f是结果图像。例4 利用MATLAB软件实现数字图像傅立叶变换的程序:I=imread(原图像名.bmp); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离

24、散傅立叶变换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打开计算机,启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;2调入“直方图”文件夹中的四幅数字图像,并进行直方图均衡化处理,显示原图像的直方图和经过均衡化处理过的图像直

25、方图。3利用MatLab工具箱中的函数编制FFT频谱显示的函数;4a).调入、显示“正交变换”文件夹中的图像;图像存储格式为“.bmp”; b) 对这四幅图像做FFT并利用自编的函数显示其频谱;c) 讨论不同的图像内容与FFT频谱之间的对应关系。5记录和整理实验报告。五、实验仪器1计算机 Pentium ;CPU 586以上;32M以上内存;Windows XP操作系统;Matlab 7软件;2MATLAB程序;3移动式存储器(U盘等)。4记录用的笔、纸。六、实验报告内容1叙述实验过程;2描述实验中编写的图像处理源代码。3提交实验的原始图像和结果图像。4总结并分析实验结果。七、思考题9 / 3

26、01直方图是什么概念?它反映了图像的什么信息?2直方图均衡化是什么意思?它的主要用途是什么?3直方图规定化是什么意思?它的主要用途是什么?4傅里叶变换有哪些重要的性质?5图像的二维频谱在显示和处理时应注意什么?实验三 图像增强一、 实验目的掌握常见的图像噪声种类。学习用于图像增强中的去噪声等平滑技术。理解在空间域邻域平均法和中值滤波的原理、特点、适用对象。学习用于突出目标形状特征、改善视觉效果的图像锐化技术的原理和常用方法。二、 实验要求1用邻域平均法对含噪声图像进行滤波,比较不同邻域半径的处理效果。2用邻域平均法和中值滤波两种方法分别处理叠加椒盐噪声和高斯噪声的图像,比较其滤波效果。三、实验

27、原理及内容图像增强是指按特定的需要突出一幅图像中的有用信息,同时,消弱或去除某些不需要的信息,提高图像的使用价值的处理方法。常用的图像增强技术有灰度修正法、直方图修正法,图像平滑处理、图像锐化处理、几何校正和彩色处理技术等空间域处理方法。还有频域增强、维纳滤波和卡尔曼滤波等频率域处理方法。1 噪声及其噪声的Matlab实现实际获得的图像一般都因受到某种干扰而含有噪声。引起噪声的原因有敏感元器件的内部噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声产生的原因决定了噪声的分布特性及它与图像信号的关系。根据噪声与信号的关系可以将其分为两种形式。(1) 加性噪声。当噪声与图像信号g(x

28、,y)无关,在这种情况下,含噪声图像f(x,y)可表示为 f(x,y)=g(x,y)+n(x,y)信道噪声及扫描图像时产生的噪声都属于加性噪声。(2) 乘性噪声。当噪声与图像信号有关时,又分为两种情况,一种是某像素处的噪声只与该像素的图像有关,另一种是某像素点处的噪声与该像素点及其邻域的图像信号有关。例如,用飞点扫描器扫描图像时产生的噪声就与图像信号有关。如果噪声和信号成正比,则含噪图像f(x,y)可以表示为f(x,y) = g(x,y)+n(x,y)g(x,y) = 1+n(x,y)g(x,y)另外,还可以根据噪声服从的分布对其进行分类,这时可以分为高斯噪声、泊松噪声和颗粒噪声等。泊松噪声一

29、般出现在照度非常小及用高倍电子线路放大器的情况下;椒盐噪声可认为是泊松噪声;其他的情况通常为加性高斯噪声。颗粒噪声可以认为是白噪声过程,在密度域中是高斯分布的加性噪声,而在强度域中为乘性噪声。Matlab7.0的图像处理工具箱提供了模拟噪声生成函数imnoise,可以对图像添加某些典型的噪声。11 / 30imnoise函数格式:J=imnoise(I,type) J=imnoise(I,type,parameter)说明:J=imnoise(I,type) 返回对图像I添加典型噪声后的有噪图像J,参数type和parameter用于确定噪声的类型和相应的参数。例1 对图像rice.png分别

30、添加高斯噪声、椒盐噪声和乘性噪声。I=imread(rice.png);J1=imnoise(I,gaussian,0,0.02); %添加零均值高斯噪声,噪声方差0.02J2=imnoise(I,salt & pepper,0.02); %添加椒盐噪声,噪声方差0.02J3=imnoise(I,speckle,0.02); %添加乘性噪声,噪声方差0.02subplot(2,2,1),imshow(I);title(原图像)subplot(2,2,2),imshow(J1);title(添加高斯噪声图像)subplot(2,2,3),imshow(J2);title(添加椒盐噪声图像)sub

31、plot(2,2,4),imshow(J3);title(添加乘性噪声图像)2图像滤波的Matlab实现Matlab中提供的空间域数字图像滤波函数主要有conv2函数、filter2函数和fspecial函数。(1) conv2函数功能:计算二维卷积。格式:C=conv2(A,B) C=conv2(Hcol,Hrow,A) C=conv2(,shape)说明:对于C=conv2(A,B),conv2计算矩阵A和B的卷积,若Ma,Na=size(A)、Mb,Nb=size(B),则size(C)=Ma+Mb-1,Na+Nb-1; C=conv2(Hcol,Hrow,A)中,矩阵A分别与Hcol向

32、量在列方向和Hrow向量在行方向上进行卷积;C=conv2(,shape)用来指定conv2返回二维卷积结果部分,参数shape可取值如下: full为缺省值,返回二维卷积的全部结果; same返回二维卷积结果中与A大小相同的中间部分; valid返回在卷积过程中,未使用边缘补0部分进行计算的卷积结果部分,当size(A)size(X); same返回二维互相关结果的中间部分,Y与X大小相同; valid返回在二维互相关过程中,未使用边缘补0部分进行计算的结果部分,有size(Y)size(X)。(3) fspecial函数功能为产生预定义滤波器。具体语法为:H=fspecial(type)

33、fspecial函数产生一个有type指定的二维滤波器HH=fspecial(gaussian,n,sigma) 产生高斯低通滤波器H=fspecial(sobel) 产生Sobel水平边缘增强滤波器H=fspecial(prewitt) 产生Prewitt水平边缘增强滤波器H=fspecial(laplacian,alpha) 产生二维拉普拉斯运算滤波器H=fspecial(log,n,sigma) 产生高斯拉普拉斯(LOG)运算滤波器H=fspecial(average,n) 产生均值滤波器H=fspecial(unsharp,alpha) 产生模糊对比增强滤波器3邻域平均法(均值滤波)以

34、像素为中心,灰度值为f(x,y),窗口像素组成的点集用A表示,集内像素数以L表示。经过邻域平均法滤波后,像素f(x,y)对应的输出为g(x,y):即用窗口像素的平均值g(x,y)取代f(x,y)原来的灰度值。例2 33均值模板的生成Average=1,1,1;1,1,1;1,1,1;例3 邻域平均法滤波I=imread(eight.tif);J=imnoise(I,salt & pepper,0.02); %添加椒盐噪声subplot(2,2,1),imshow(I);title(原图像)subplot(2,2,2),imshow(J);title(添加椒盐噪声图像)K1=filter2(fs

35、pecial(average,3),J)/255; %应用33邻域窗口法subplot(2,2,3),imshow(K1);title(33窗的邻域平均滤波图像)K2=filter2(fspecial(average,7),J)/255; %应用77邻域窗口法subplot(2,2,4),imshow(K2);title(77窗的邻域平均滤波图像)4中值滤波中值滤波(Median filtering)是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。1971年,Tukey在进行时间序列分析时提出中值滤波器的概念。其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值

36、替换。这种滤波器的优点是运算简单而且速度较快,在滤除叠加白噪声和长尾叠加噪声方面显示出了极好的性能。中值滤波器在滤除噪声(尤其是脉冲噪声)的同时能很好地保护信号的细节信息(例如边缘、锐角等)。另外,中值滤波器很容易自适应化,从而可以进一步提高其滤波性能。13 / 30设f(x,y)表示数字图像像素点的灰度值滤波窗口为A的中值滤波器可以定义为:上面数字图像中的值用邻域的最大值替换的滤波器称为最大值滤波器,如果替换的值是最小值就称为最小值滤波器。在Matlab图像处理工具箱中,medfilt2函数实现中值滤波器。其调用格式如下:B=medfilt2(A,m n) 对图像A执行二维中值滤波。每个输出

37、像素为 mn邻域的中值。在图像边界用0填充图像,所以边缘的中值为m n/2区域的中值,可能失真。B=medfilt2(A) 为m和n缺省为3的情况。四、实验步骤1打开计算机,启动MATLAB程序; 2调入“图像平滑”文件夹中的数字图像,对已经叠加高斯噪声的图像利用邻域平均法进行滤波,窗口尺寸先用33,再取55逐渐增大,显示滤波前后的图像。3调入“图像平滑”文件夹中的数字图像,对已经叠加高斯噪声和椒盐噪声的图像利用邻域平均法和中值滤波法进行滤波,窗口尺寸均为33,显示原图像和经过滤波后的图像。(注意边界像元的处理)4记录和整理实验报告。五、实验仪器1计算机 Pentium ;CPU 586以上;

38、32M以上内存;Windows XP操作系统;Matlab 7软件;2MATLAB程序;3移动式存储器(U盘等)。4记录用的笔、纸。六、实验报告内容1叙述实验过程;2描述实验中编写的图像处理源代码。3提交实验的原始图像和结果图像。4总结并分析实验结果。七、思考题1在对图像进行邻域平均法滤波时,邻域半径的大小对图像有什么影响,为什么?2邻域平均法更适合于处理高斯噪声还是椒盐噪声?试分析原因。3中值滤波更适合于处理高斯噪声还是椒盐噪声?试分析原因。13 / 304对叠加有乘性噪声的图像,设计一种处理方法,既能去噪声又能保持边缘清晰。实验四 图像分割一、 实验目的掌握常用的边缘提取算法,从图像中提取

39、感兴趣的区域,实现图像分割。在图像中,寻找灰度相同或相似的区域,区分图像中的背景区域和目标区域,利用Matlab实现图像的边缘检测,进行图像分割。二、 实验要求1 运用罗伯特梯度算子、Sobel算子、Prewitt算子、LoG算子、Canny算子等检测图像边缘,编程实现并观看图像分割的效果。2 运用边缘检测函数edge对图像作边缘检测,并观看检测效果。三、实验原理及内容图像边缘是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素的集合。图像边缘存在于目标与背景、目标与目标、基元与基元的边界,标示出目标物体或基元的实际含量,是图像识别信息最集中的地方。图

40、像分割处理主要用于检测出图像中的轮廓边缘、细节以及灰度跳变部分,形成完整的物体边界,达到将物体从图像中分离出来或将表示同一物体表面的区域检测出来的目的。常用的分割方法是边缘检测。边缘检测是采用多种边缘算子实现突出图像边缘,抑制图像中非边缘信息,使图像轮廓更加清晰。1 梯度算子法对于图像f(x,y),它在点f(x,y)处的梯度是一个矢量,定义为梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅值为梯度的数值就是f(x,y)在其最大变化率方向上的单位距离所增加的量。对于图像而言,微分运算可以用差分运算来近似。简化成模板可以表示成如下形式:14 / 30Robert梯度算子 当梯度计算完后,可

41、采用以下几种形式突出图像的轮廓。l 梯度直接输出使各点的灰度g(x,y)等于该点的梯度,即这种方法简单、直接。但增强的图像仅显示灰度变化比较陡的边缘轮廓,而灰度变换比较平缓的区域则呈暗色。l 加阈值的梯度输出加阈值的梯度输出表达式为式中,T是一个非负的阈值,适当选取T,既可以使明显的边缘得到突出,又不会破坏原来灰度变化比较平缓的背景。l 给边缘指定一个特定的灰度级 式中LG是根据需要指定的一个灰度级,它将明显的边缘用一个固定的灰度级表现,而其他的非边缘区域的灰度级仍保持不变。l 给背景指定一个特定的灰度级 该方法将背景用一个固定灰度级LG表现,便于研究边缘灰度的变化。l 二值图像输出在某些场合

42、(如字符识别等),既不关心非边缘像素的灰度级差别,又不关心边缘像素的灰度级差别,只关心每个像素是边缘像素还是非边缘像素,这时可采用二值化图像输出方式,其表达式为此法将背景和边缘用二值图像表示,便于研究边缘所在位置。2 Sobel算子法Sobel相对于先对图像进行加权平均再做差分。对于图像的33窗口,设 15 / 30则定义Sobel算子为 简化成模板可以表示成如下形式:Sobel模板 3 拉普拉斯运算法拉普拉斯算子定义图像f(x,y)的梯度为锐化后的图像g为 式中k为扩散效应系数。对系数k的选择要合理,太大会使图像中的轮廓边缘产生过冲;太小则锐化不明显。常用laplacian算子模板为,另外还

43、有一些模板也常用于图像增强,如Prewitt模板 例1 Laplacian算子的生成laplacian=0,-1,0;-1,4,-1;0,-1,0;例2 Laplacian算子和模板匹配法示例I=imread(eight.tif);subplot(1,3,1);imshow(I);title(原图像);H=fspecial(laplacian); %应用Laplacian算子滤波锐化图像laplacianH=filter2(H,I);subplot(1,3,2);imshow(laplacianH);title(laplacian算子锐化图像);H=fspecial(prewitt); %应用

44、prewitt模板滤波锐化图像prewittH=filter2(H,I);subplot(1,3,3);imshow(prewittH);title(prewitt模板锐化图像);4边缘检测的函数edge16 / 30边缘检测的函数edge的基本语法为g,t=edge(f,method,parameters)其中,f是输入图像,method是边缘检测方法,如Sobel、Prewitt、Roberts、Laplacian of a Gaussian(LoG)、Canny等,parameters是一个参数。在输出中,g是一个逻辑数组,其值如下决定:在f中检测到边缘的位置为1,在其他位置为0。参数t

45、是可选的;它给出edge使用的阈值,以确定哪个梯度值足够大到可以称为边缘点。如Sobel检测器调用语法为 g,t=edge(f,sobel,T,dir) Prewitt检测器调用语法为 g,t=edge(f,prewitt,T,dir)Roberts检测器调用语法为 g,t=edge(f,roberts,T,dir)其中T为指定的阈值,dir指定检测边缘的首选方向。Laplacian of a Gaussian (LoG)检测器调用语法为 g,t=edge(f,prewitt,T,sigma) 其中,sigma是标准偏差,其他参数的解释如前所示。sigma的默认值是2。Canny检测器调用语法

46、为 g,t=edge(f,canny,T,sigma)其中T是一个向量,TT1,T2,T1T2。sigma是平滑滤波器的标准偏差。四、实验步骤1打开计算机,启动MATLAB程序;2调入“图像平滑”文件夹中的数字图像,对初始图像、添加高斯和椒盐噪声的图像分别选择三种边缘检测算子进行模板计算,显示原图像和经过模板处理过的图像。3利用Matlab提供的边缘检测edge函数,选择三种边缘检测算子,分别对图像进行边缘检测,显示检测结果。4记录和整理实验报告。五、实验仪器1计算机Pentium ;CPU 586以上;32M以上内存;Windows XP操作系统;Matlab 7软件;2MATLAB程序;3

47、移动式存储器(U盘等)。4记录用的笔、纸。六、实验报告内容1叙述实验过程;2描述实验中编写的图像处理源代码。3提交实验的原始图像和结果图像。4总结并分析实验结果。七、思考题1分析Sobel算子特点,并给予说明。2分析laplacian算子特点,并解释它为何能增强图像的边缘?17 / 303比较各个边缘算子对图像边缘的检测效果。 4比较各个边缘检测算子对噪声的敏感性,并提出抗噪声性能较好的边缘检测的方法。实验五 图像压缩一、 实验目的1 理解有损压缩和无损压缩的概念;2 理解图像压缩的主要原则和目的;3 了解几种常用的图像压缩编码方式。4 利用MATLAB程序进行图像压缩。二、 实验原理1图像压

48、缩原理图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。(1).冗余度压缩方法

49、,也称无损压缩、信息保持编码或熵编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是说解码图像和原始图像是有差别的,允许有一定的失真。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:(1)无损压缩编码种类哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。18 / 30(2)有损压缩编码种类预测编码,DPCM,运动补偿;频率域方法:正交变换编码(如DCT),子带编码;空间域方法:统计分块编码;模型方法:分形编码,模型基编码;基于重要性:

50、滤波,子采样,比特分配,向量量化;(3)混合编码。有JBIG,H261,JPEG,MPEG等技术标准。本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩和行程编码(Run Length Encoding,RLE)。1) 离散余弦变换(DCT)图像压缩原理离散余弦变换DCT在图像压缩中具有广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。 和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式)相比,JPEG是目前静态图像中压缩比最高的。JPEG比其他几种压缩比要高得多,而图像质量都差不多(JPEG处理的图像

51、只有真彩图和灰度图)。正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中。JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基本系统(Baseline)。 用DCT压缩图像的过程为: (1)首先将输入图像分解为88或1616的块,然后对每个子块进行二维DCT变换。 (2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。用DCT解压的过程为: (1)对每个88或1616块进行二维DCT反变换。 (2)将反变换的矩阵的块合成一个单一的图像。 余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系

52、数值非常接近于0。对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。所以,利用DCT变换进行图像压缩可以节约大量的存储空间。压缩应该在最合理地近似原图像的情况下使用最少的系数。使用系数的多少也决定了压缩比的大小。在压缩过程的第2步中,可以合理地舍弃一些系数,从而得到压缩的目的。在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。2)行程编码(RLE)原理:例如如下这幅 的二值图像,19 / 30如果采用行程编码可以按如下格式保存其中10和8表示图像的宽和高。在这个小例子中行程编码并没有起到压缩图像的作用。这是由于这个图的尺寸过小,

53、当图像尺寸较大时行程编码还是不错的无损压缩方法。对于灰度图像和二值图像,用行程编码般都有很高的压缩率。行程编码方法实现起来很容易,对于具有长重复值的串的压缩编码很有效,例如:对于有大面积的阴影或颜色相同的图像,使用这种方法压缩效果很好。很多位图文件格式都采用行程编码,如TIFF,PCX,GEM,BMP等。 3. 图像压缩编码的MATLAB程序语句1) 利用DCT变换进行图像压缩的MATLAB程序RGB = imread(原图像名.tif);I = rgb2gray(RGB);J = dct2(I);imshow(log(abs(J),), colormap(jet(64), colorbarJ

54、(abs(J) 10) = 0;K = idct2(J);figure,imshow(I)figure,imshow(K,0 255)2)利用离散余弦变换进行JPEG图像压缩I=imread(原图像名.tif); %读入原图像;I=im2double(I); %将原图像转为双精度数据类型;T=dctmtx(8); %产生二维DCT变换矩阵B=blkproc(I,8 8,P1*x*P2,T,T); %计算二维DCT,矩阵T及其转置T是DCT函数P1*x*P2的参数mask= 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0

55、 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 020 / 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %二值掩膜,用来压缩DCT系数,只留下DCT系数中左上角的10个 B2=blkproc(B,8 8,P1.*x,mask); %只保留DCT变换的10个系数 I2= blkproc(B2,8,8,P1*x*P2,T,T); %逆DCT,重构图像 subplot(1,2,1); imshow(I);title(原图像); %显示原图像 subplot(1,2,2); imshow(I2);title(压缩图像);%显示压缩后的图像。对比原始图像和压

56、缩后的图像,虽然舍弃了85%的DCT系数,但图像仍然清晰(当然有一些质量损失)3)利用行程编码(RLE)进行图像压缩I=checkerboard(10,2); %调入原图像m n=size(I);J=;for i=n:m value=I(i,1); num=1; for j=2:n if I(i,j)=value num=num+1; else J=J num value; num=1; value=I(i,j); endendI=J num value 0 0; %添加的行判断位 0 0enddisp(原图像大小:)whos(I);disp(压缩图像大小:)whos(J);disp(图像的压

57、缩比:)disp(m*n/length(J)四、实验步骤1打开计算机,启动MATLAB程序;2调入给定的数字图像,并进行数据的行程(RLE)编码压缩处理;3将原图像分别以不同的位图文件格式进行“另保存”,比较它们的数据量。4记录和整理实验报告21 / 30五、实验仪器1计算机Pentium ;CPU 586以上;32M以上内存;Windows XP操作系统;Matlab 7软件;2MATLAB等程序;3移动式存储器(软盘、U盘等)。4记录用的笔、纸。六、实验报告内容1叙述实验过程;2提交实验的原始图像和结果图像。七、思考题1图像中哪些信息是主要的,哪些信息是次要的?2简述离散余弦变换(DCT)和行程编码(RLE)的原理。实验六 图像运算与区域处理一、实验目的学习并掌握图像运算的一些方法,便于图像的分析与理解。二、实验内容和要求a) 实现图像的算术运算(加、减、乘、除及求补运算)。b) 实现图像的位逻辑运算。c) 实现图像的几何运算。d) 实现图像的空间变换。e) 实现图像的区域处理。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!