数字图像处理课程设计报告-华工物院_第1页
数字图像处理课程设计报告-华工物院_第2页
数字图像处理课程设计报告-华工物院_第3页
数字图像处理课程设计报告-华工物院_第4页
数字图像处理课程设计报告-华工物院_第5页
免费预览已结束,剩余15页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要1课程设计的任务与要求1.1 课程设计的任务1.2 课程设计的要求1.3 课程设计的分析2设计理论根底知识2.1 数字图像处理根底知识2.1.1 数字图像表示2.1.2 数字图像处理技术2.2 MATLAB设计根底知识2.2.1 MATLAB处理的图像类型和文件格式2.2.2 图像文件的读取2.2.3 图像数据类型和图像类型转换2.2.4 图像显示3对girl+noise图像中值滤波设计3.1 中值滤波根底3.2 girl+noise图像中值滤波的MATLA破计3.2.1 图像的读取及转换3.2.2 利用冒泡算法求出邻域内的中值3.2.3 图像的输出3.3 MATLAB函数实现3.4

2、中值滤波算法的改良4对plane0图像边缘检测设计4.1 边缘检测根底4.2 边缘检测模板4.2.1 一阶微分算子梯度算子4.2.2 二阶微分算子Laplacian算子4.3 Laplacian算子边缘检测的MATLABS#4.4 输出图像评价及改良5对car0.bmp和Image0.tif的图像增强设计5.1 灰度级根底5.1.1 线性灰度变换5.1.2 分段线性灰度变换5.1.3 非线性灰度变换5.1.4 直方图根底5.2 Image0.tif图像增强的MATLA般计5.2.1 图像的读取及转换5.2.2 原图像直方图的绘制5.2.3 灰度值变换5.2.4 灰度变换后图像的直方图的绘制5.

3、2.5 灰度变换图像增强比照5.2.6 直方图比照5.3 car0.bmp图像增强的MATLAB#5.3.1 原图像的显示5.3.2 原图像直方图绘制与分析5.3.3 直方图均衡化处理及显示5.3.4 直方图均衡化后的图像显示6结论摘要通过一定的算法,用数字计算机或其他数字硬件对图像进行相应的分析处理,以提升图像的质量来满足人眼或其他设备的需求,即称为数字图像处理,也称为计算机图像处理.MATLA酢为一种面向科学与工程计算的高级语言,拥有着强大的数据分析和处理水平、灵活的程序语言、丰富的图像处理函数与高质量的图形界面以及与其他程序语言便捷的接口功能,使其在数字图像处理方面有着极大的灵活性、扩展

4、性和包容性.此文中介绍了一些根底的数字图像处理技术,主要分析了图像增强中的灰度级变换,直方图处理和空域滤波,图像分割中的图像锐化边缘检测问题,以MATLA的平台,给出了具体程序,仿真结果.关键词:MATLAB图像增强;空域滤波;边缘检测1课程设计的任务与要求1.1 课程设计的任务对四张图片,分别设计四个程序,实现图像增强或图像复原1.2 课程设计的要求研究Matlab5.x以上版本对图像的读取、显示与输出方法,给出概要说明.(1)利用MATLA酎写一段M程序,计算所给图像(car0.bmp,Image0.tif)的直方图,并利用灰度线性变换增强该图像.(2)说明中值滤波的算法和优势,编写一段M

5、程序,对所给的图像(girl+noise)进行中值滤波去除噪声.讨论是否可以改良这一算法.(3)编写一段M程序,利用Laplacian算子,求所给图像(plane0.tif)的边缘检测图像.(注:除图像的读取、显示与输出,其他处理均不能直接调用Matlab函数)1.3 课程设计的分析图像增强从技术上可以分为两大类:空间域图像增强和频域图像增强.空间域图像增强直接对图像的像素进行处理,即改变原始图像中像素的灰度值;而频域图像增强那么是通过修改图像的傅里叶变换系数,然后进行傅里叶逆变换,从而到达图像增强.此次课程设计中,主要是采用空间域图像增强.根本设计思路是:图像文件读取,灰度图数据处理,绘制图

6、像输出.首先要对图像文件进行图像类型分析,保证将图片信息转化为灰度图像输入;其次,对图像的数据类型做相应的转换;然后,通过一定的算法对灰度图做相应的处理;最后,输出处理结果后的灰度图即可.2设计理论根底知识2.1 数字图像处理根底知识2.1.1 数字图像表示一幅图像可以用二维的函数表示,如f(x,y),其中x,y表示二维空间中的一个坐标点的位置,f表示图像在点(x,y)处图像的某种属性,如灰度.通常,图像的取值f,x,y是连续的,通过取样量化和编码,将函数f(x,y)转换为数字图像,连续图像取样为一个二维阵列f(x,y),该阵列包含有M行N列,其中(x,y)是离散坐标.因此,通常用灰度值分布I

7、=f(x,y)来表示一幅数字图像,也可用M*N矩阵形式来描述一幅M*N的数字图像.该矩阵中的每个元素称为图像单元,图像元素或像素.2.1.2 数字图像处理技术主要包含:图像获取,图像变换,图像增强,图像复原技术,图像编码技术,图像分割技术.2.2 MATLAB设计根底知识此次课程设计采用的是MATLAB2021版本,与大多数Matlab5.x以上版本的软件语言函数的应用上没有太大的差异,这里不做过多的比较.MATLA是一个具有高性能计算和可视化功能的科学环境、操作方便、计算精度高,能完成绝大局部科学计算.其中,MATLABH像处理工具箱提供了300多个图像相关函数,能方便应用于图像算法分析和数

8、据可视化功能,是进行图像处理的有效工具.由于此次课程设计要求只涉及到图像的读取、显示与输出,其余的图像处理函数不会做介绍分析,且只对课程设计所能应用到的的读取显示输出函数做介绍.2.2.1 MATLAB处理的图像类型和文件格式此次课程设计中的四张图片,只包含了两种图像格式,即bmp和tif,都在MATLAB勺支持格式范围内.MATLAB15种图像类型,即二值图像、索引图像、灰度图像、RGEH像和多帧图像.此次课程设计中,对图像的处理完全建立在灰度图像上,即只对图像的灰度值感兴趣,故要先将其他图像类型转换为灰度图像.灰度图像中矩阵的每一个元素对应于图像的一个像素点,矩阵元素的数据类型可以是uin

9、t8、uint16或double型,元素数值代表了像素的灰度值或亮度值.2.2.2 图像文件的读取在利用MATLABS行数字图像处理时,需要先读取图像的数据.MATLAB1常利用imread完成图像的读取,其语法格式为:A=imread('指定图像存储路径及文件名),表示将指定的图像数据读取到数字A中.2.2.3 图像数据类型和图像类型转换课程设计过程中对图像的灰度值进行处理时往往会产生小数,需要将灰度值数据类型转换为双精度double类型,进行灰度处理,然后利用round函数将灰度值进行四舍五入取整,最后输出时,利用uint8函数把灰度值转换为的无符号整形数据(取值范围从0到255)

10、,再利用输出函数输出图像即可.其语法格式为:I=double(I)I=round(I)I=uint8(I)在课程设计中,需要将一个类型的文件转换成灰度图像文件读取,用到了rgb2gray函数,转换过程中,将丢掉色调饱和度信息,只利用照度信息转换,其语法格式为:I=rgb2gray(RGB,输入的真彩色图像RG白勺数据类型可以使uint8、uint16或double型,输出的灰度图像I的数据类型与输入类型相同.2.2.4 图像显示课程设计中,将通过一定的算法处理后的灰度图显示出来,用到了比较常用的imshow函数,其语法格式为:figure,imshow(I),显示灰度图像I,参量I为矩阵,其元

11、素范围为0,255,所以在图像显示时注意要应用uint8函数对I进行数值转换.课程设计中,涉及到直方图的绘制,其语法格式为:figure,bar(0:255,G),其中G为存放灰度出现概率的一维向量.3对girl+noise图像中值滤波设计3.1 中值滤波根底中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,将每一像素点的灰度值设置为该点某邻域窗口内所有像素点灰度值的中值.优点是运算简单,中值滤波在对脉冲干扰及椒盐噪声的抑制效果很好,在滤除噪声的同时能很好的保护图像的边缘信息,使图像较好的复原.止匕外,很容易自适应化,从而进一步提升滤波性能.对于中值滤波法来说,选取适宜的窗口

12、形状和窗口尺寸大小是十分重要的.实际应用中,中值滤波的窗口可以选择线性、十字形、方形、菱形和圆形等,而此次课程设计中选取的是3*3的方形窗口.通常选取奇数尺寸的窗口,通过不断的实验从小窗口到大窗口,才能选取出最正确的窗口.3.2 girl+noise图像中值滤波的MATLAB#3.2.1 图像的读取及转换clearallRGB=imread('F:1designgirl+noise.bmp');I=rgb2gray(RGB);%将图形转换成灰度图像3.2.2 利用冒泡算法求出邻域内的中值J=uint8(I);%将会度值转换为整形数据mn=size(J);%求图像尺寸J3=;%创

13、立用来存放中值滤波后的灰度图J3fori=2:m-1forj=2:n-1J1=J(i-1:i+1,j-1:j+1);J1=reshape(J1,1,9);%将3x3中值滤波窗口矩阵转换成1x9矩阵方便排序forh=1:9%利用冒泡排序找出中值forw=h+1:9ifJ1(h)>J1(w)t=J1(w);J1(w)=J1(h);J1(h)=t;endendendJ3(i,j)=J1(5);%将每一像素点灰度值设为某点邻域内的中值灰度值endendfigure(1),3.2.3图像的输出imshow(I);title(,原始椒盐噪声图像,);figure(2),imshow(uint8(J3

14、);title(,中值滤波图像,);如下列图,中值滤波实验后的图像很好的符合人眼需求,中值滤波对于椒盐噪声有很好的滤除效果.3.3 MATLAB函数实现MATLAB勺图像处理工具箱提供了medfilt2函数用于实现中值滤波,其语法格式为:B=medfilt2A;用大小为3*3的窗口对图像A进行中值滤波.3.4 中值滤波算法的改良中值滤波作为数字图像处理中比较常用的滤波方法,其滤波效果依赖于窗口和数据点,使得它在处理空间密度大的冲击噪声时受到限制,可以通过MATLAB中提供的工具箱对中值滤波算法进行改良,采用自适应中值滤波的方法.4对plane0图像边缘检测设计4.1 边缘检测根底图像的边缘信息

15、是图像最根本也是最重要的图像信息,边缘检测是图像处理和计算机视觉中的根本问题,边缘检测的方法也一直是图像分析与识别领域中十分热门的课题.边缘,可以说是周围像素有灰度变化的那些像素的集合.可以大致分为两种,一种是阶跃性边缘,它两边像素的灰度值有显著的不同;另一种是屋顶状边缘,它位于灰度值从增加到减少的变化转折点处.4.2 边缘检测模板边缘检测的工具主要是边缘检测模板,也叫边缘算子.图像的边缘是灰度值不连续的结果,这种不连续可以用求导数的方法进行检查,而在数字图像处理中,求导运算即为差分运算,考察图像每个像素某个邻域内灰度的变化利用边缘邻近一阶或二阶导数的规律来检测边缘.4.2.1 一阶微分算子梯

16、度算子梯度对应的是一阶导数差分信息,是一阶导数算子.实际的数字图像是经过空间采集,灰度量化的图像,在求取梯度的时候,用差分代替微分.而且为了计算简单,梯度的幅度大小通常用各方向差分的绝对值的和来运算.通常用于检测图像边缘的梯度算子有Robert算子、Prewitt算子和Sobel算子.4.2.2 二阶微分算子Laplacian算子Laplacian算子是一种二阶微分算子,是最简单的各向同性微分算子,具有、俨y旋转不变性,用来检测边缘时,其表达式为:8x2'打2.在数字图像处理中,用二阶差分代替二阶微分算子,从而Laplacian算子表达式为:V=fG+i>r)+f(丈Ly)+fy

17、11)V(y)Laplacian算子对应的模板为:从Laplacian算子模板形式可以看出,如果在图中一个较暗的区域中出现了一个亮点,那么Laplacian运算就会使这个亮点变得更亮.Laplacian算子对细线和孤立点检测的效果好,在此次课程设计中,用Laplacian算子进行边缘检测的效果并不是很好,由于孤立点过多,而且Laplacian算子丧失了边缘方向信息,产生双像素的边缘,对噪声有增强的作用.4.3 Laplacian算子边缘检测的MATLAB#clearallI=imread('F:1designplane0.tif);b=double(I);%将灰度值类型转换为双精度H=

18、010;1-41;010;%Laplacian算子模板T=40;%设定灰度值阈值mn=size(I);%求灰度图像的尺寸大小f=zeros(m,n);fori=2:m-1forj=2:n-1c=b(i-1,j-1)b(i-1,j)b(i-1,j+1);b(i,j-1)b(i,j)b(i,j+1);b(i+1,j-1)b(i+1,j)b(i+1,j+1);d=c.*H;%目标区域和算子点乘f(i,j)=sum(d(:);iff(i,j)<T%小于此阈值的灰度全值设为0大于阈值的灰度值整体提升150f(i,j)=0;elsef(i,j)=f(i,j)+150;%endendendfigure

19、(1);imshow(I);title('原始图像');figure(2);imshow(uint8(f);title(,拉普拉斯算子的边缘检测);原始图博拉音拉断算子的边锥检测通过对边缘检测之后的图像的观察分析,发现Laplacian算子的边缘检测效果不是很好,主要表达在:检测到的边缘由于丧失了方向信息,导致线条不连续,而且线条旁边出现较多的间断亮点,在平坦区域也会出现很多类似噪声的亮点,总之,利用Laplacian算子边缘检测的整体效果不是很好.4.4 输出图像评价及改良由于Laplacian算子对噪声比较敏感,很少直接用于边缘检测,通常利用的是Log算子,综合考虑对噪声的

20、抑制和边缘的检测.或者,利用基于算子,根据噪声的特点,采用高斯滤波和取阈值两种方法相结合,从而寻找出Laplacian算子的变形算子.5对car0.bmp和Image0.tif的图像增强设计图像增强不仅可以用来提升图像的视觉效果,还可以说图像边缘检测以及特征提取等技术的根底.此局部主要介绍用于图像增强的灰度变换方法,包括线性灰度变换、非线性灰度变换与直方图法.此次课程设计中,采用空域处理法,通过直接对图像像素的处理,即改变原始图像中像素的灰度值,来到达图像增强的目的.5.1 灰度级根底一般成像系统只具有一定的亮度响应范围,比照度定义为亮度的最大值和最小值的比.实际情况中,由于成像系统和周围环境

21、的限制,往往导致得到的图片比照度缺乏或是超出预期范围,使人眼观看图像的视觉效果很差.此时通过灰度变换,将图像的灰度级整个范围或者其中的某一段灰度级扩展或压缩到目的灰度级动态范围内,从而大大改善人眼的视觉效果.常用的灰度变换有:线性灰度变换、分段线性变换和非线性灰度变换.5.1.1 线性灰度变换假设原图像的灰度范围为a,b,经过线性变换后输出图像的灰度范围为c,d,其变换可用式表示:在实际应用中,通常是把原图像的灰度值范围a,b变换到整个灰度范围0,255,其中c,d也可以是记录器件灵敏度较高的灰度范围.5.1.2 分段线性灰度变换为了凸显某些感兴趣的目标或灰度区间,而抑制不感兴趣的目标或灰度区

22、间,采用分段线性变换.此变换对于感兴趣的灰度区间进行了扩展,而对不感兴趣的灰度区间进行了压缩.而对于压缩的局部,在损失可以接受的情况下,可以考虑将需要压缩的灰度区间全部映射为某一特定的灰度值,或者是直接对其灰度值保存不做变化.分段线性变换,就是线性变换的一种灵活应用.可以通过调整折线拐点位置和限制分线直线的斜率,实现扩展和压缩,在数字图像增强处理中用途比较广泛.5.1.3 非线性灰度变换常用的方法有对数变换和指数变换.对数变换的表达式为:指数变换的表达式为:gtxy)=brQcf(xy)Ia)I1比照两变换的变换曲线可以看出:对数变换扩展了低灰度区域,压缩了高灰度区域;而指数变换压缩了低灰度区

23、域,扩展了高灰度区域.两非线性变换效果刚好相反.5.1.4 直方图根底直方图表示数字图像中每一灰度级与其出现的频数间的统计关系,一般在直角坐标系中表示,横坐标为灰度级,纵坐标为灰度级频数.数字图像中的直方图可以用离散函数:P(/D=nk/n表小0式中,/为第k级灰度,为第k级灰度的像素总和,n为图像像素的总数目,P8)D13Dd1313131313直方图提供了原始图像的灰度值分布情况,给出了一幅图像所有灰度值得整体描述.通过直方图可以对原始图像的灰度范围、灰度级分布、整幅图像的平均亮度等进行大致的描述:如果直方图峰值位置偏向灰度值大的一边,说明图像偏亮;如果峰值位置偏向灰度值小的一边,说明图像

24、偏暗;峰值变化过陡、过窄,那么说明图像的灰度值过于集中;而直方图分布较为均匀,动态范围大,怎说明图像的比照度好,图像质量高.前3种情况都说明图像的反差小、质量差.此设计中,直方图只是作为一个辅助设置线性变换参数的工具,通过观察直方图的特点,然后反复调整分段线性变换的拐点,来到达图像增强的效果,对于直方图均衡化和直方图规定化没有做介绍.算法根本流程是:(1):观察原始直方图分布;(2):设置分段线性变换的拐点与斜率;(3):比照原始直方图和变换后的直方图分布,比照观察原始图像和变换后的图像视觉效果;(4):重复步骤(2)(3)直至图像视觉效果符合要求,确定变换所设置的参数;此算法中过多的依赖人为

25、的观察分析调整,最终图像增强的效果有很大的不可控性.5.2 Image0.tif图像增强的MATLA般计5.2.1 图像的读取及转换clearallRGB=imread('F:1designImage0.tif);I=rgb2gray(RGB);5.2.2 原图像直方图的绘制mn=size(I);%G=zeros(1,256);%b=double(I);%fork=0:255%测量图像尺寸参数创立存放灰度出现概率的向量将灰度值类型转换为双精度原图像的直方图的绘制G(k+1)=length(find(b=k)/(m*n);endfigure(1);bar(0:255,G);title(&

26、#39;原图像直方图');xlabel('灰度值');ylabel('出现频率');5.2.3 灰度值变换通过对原图像直方图的观察,发现灰度值集中在低灰度区间0,11内,较散乱的分布在11,255上,说明图像较暗,这从图形的视觉效果也可看出.对于该图片,采用的是分段灰度变换,为了表达出原图像低灰度的信息,对低灰度0,11采用的是对数变换至灰度区间为0,166,而对散乱分布的灰度区间11,255,采用的是线性变换至灰度区间为166,255.此设计对低灰度采用对数变换较于完全采用分段线性变换,能较好的表达出低灰度的信息.f=zeros(m,n);fori=1

27、:mforj=1:nifb(i,j)<11%对灰度值低于11的采用对数变换f(i,j)=160*log10(1+b(i,j);elsef(i,j)=166+(254-166)/(255-11)*(b(i,j)-11);%观察比照原图像直方图和处理过后的直方图来调整灰度值高于11的处理参数endf(i,j)=round(f(i,j);%对灰度值四舍五入取整endend5.2.4 灰度变换后图像的直方图的绘制G1=zeros(1,256);G1(k+1)=length(find(f=k)/(m*n);%endfigure(2);bar(0:255,G1);title('变换后图像直方

28、图');xlabel('灰度值');ylabel('出现频率');figure(3);subplot(1,2,1);imshow(I);title('原图像');subplot(1,2,2);imshow(uint8(f);计算每个灰度值出现的概率存入G1title'对数变换后的图像'fork=0:255预创立存放灰度出现概率的向5.2.5 灰度变换图像增强比照5.2.6 直方图比照原图像直方图0.3511110.3-O51值度口灰O1-一.一一一口525150-5NoJoOooO变换后图像直方图0350.3O51值度口灰

29、OO525150-5NoJoOooO比照变换前后的直方图,原图像的直方图宽度相对于整个灰度范围来说十分的狭窄,图像质量很差,比照度很低,在MATLAM境下对低灰度范围进行拉伸,使低灰度的范围扩展至较大的范围,提升了比照度.5.3 car0.bmp图像增强的MATLA般计5.3.1 原图像的显示clearallI=imread('F:1designcar0.bmp');figure(1);imshow(I);title('原图像');5.3.2 原图像直方图绘制与分析mn=size(I);G=zeros(1,256);%创立存放灰度出现概率的向量b=double(

30、I);fork=0:255%求出原图像的直方图G(k+1)=length(find(b=k)/(m*n);endfigure(2);bar(0:255,G);title('原图像直方图');xlabel('灰度值');原图像直方图ylabel'出现频率1;00350.03o_Q35D2o.LI025Ji.ooJIQs5o.oo.Q51值度口灰io.-5由原图像和直方图可知该图像的特点是图像较暗并且动态范围低.观察到灰度值只存在于39,158范围内.设计思路是应将狭窄范围的灰度做适当的扩展至整个灰度域上,以提升图像的比照度.但由于扩展灰度范围得出的图像增强

31、效果并不是很好,这里采用了直方图均衡化,其主要的思路是:先计算出原图像的直方图;然后计算出直方图的累计分布函数,即该灰度级的频数为小于该灰度级的频数之和;接着计算映射后的灰度级;确定映射关系,将处理后的灰度级赋给原图像;最后绘制图像和直方图.5.3.3 直方图均衡化处理及显示G1=zeros(1,256);%直方图均衡处理fori=1:256forj=1:iG1(i)=G(j)+G1(i);%将频数累加得到新的频数endendG2=round(G1*256);%将新的频数做近似处理fori=1:256%均衡化的直方图G3(i)=sum(G(find(G2=i);endfigure(3);bar(0:

温馨提示

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

评论

0/150

提交评论