图像空域增强算法设计-灰度变换增强_第1页
图像空域增强算法设计-灰度变换增强_第2页
图像空域增强算法设计-灰度变换增强_第3页
图像空域增强算法设计-灰度变换增强_第4页
图像空域增强算法设计-灰度变换增强_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

成绩评定表学生姓名班级学号专业电子信息工程课程设计题目图像空域增强算法设计——灰度变换增强评语组长签字:成绩日期201年月日课程设计任务书学院信息科学与工程专业电子信息工程学生姓名班级学号课程设计题目图像空域增强算法设计——灰度变换增强实践教学要求与任务:本设计利用Matlab进行编程及仿真,仿真内容为图像空域增强算法设计——灰度变换增强。拟利用所学数字图象处理技术知识,在Matlab软件系统上来实现灰度变换增强,并且对程序进行测试。(1)掌握课程设计的相关知识、概念、思路及目的。(2)程序设计合理、能够正确运行且操作简单,可实施性强。(3)掌握灰度变换增强的方法。(4)能够利用线性变换,非线性变换对灰度图像进行变换。工作计划与进度安排:第一阶段(1-2天):熟悉matlab编程环境,查阅相关资料;第二阶段(2-3天):算法设计;第三阶段(2-3天):编码与调试;第四阶段(1-2天):实验与分析;第五阶段(1-2天):编写文档。指导教师:201年月日专业负责人:201年月日学院教学副院长:201年月日设计目的空域增强在数字图像处理中起到对图像灰度的拉伸、压缩变换的作用,目前这种方法在处理图像灰度值方面得到广泛的运用。灰度变换是空域变换的一种重要方式,可使图像对比度扩展,图像清晰,特征明显。本实验中,我们就用灰度变换来对灰度图像进行处理。(1)熟练掌握MATLAB软件的基本操作(2)学会掌握MATLAB软件的程序编程(3)查阅相关资料并分析,掌握灰度变换增强的主要思路(4)培养独立分析和解决问题的能力,学会撰写课程设计的总结报告(5)善于总结和改进方案,提高可实施性和高效性。2设计方案2.1灰度变换增强的概念灰度变换可使图像对比度扩展,图像清晰,特征明显。它是图像增强的重要手段。在图像空间所进行的灰度变换是一种点处理方法,它将输入图像中的每个像素(x,y)的灰度值f(x,y),通过映射函数变换成输出图像中的灰度g(x,y),即g(x,y)=T[f(x,y)](2.1)根据函数的性质,灰度变换的方法有以下几种:(1)线性灰度变换。(2)分段线性灰度变换。(3)非线性灰度变换。对于线性灰度变换和非线性灰度变换,是直接用确定的公式依次对每个像素进行处理,也称为直接线性变换。[1]2.2灰度变换增强流程图2.1灰度变换增强流程如图2.1所示,f(x,y)为一张尺寸合适的原始灰度图像,首先判断是否要将整张图像的灰度值都进行拉伸,如果是整张图片拉伸,就选择线性变换增强;如果将图片的部分灰度值进行拉伸而另一部分进行压缩,则选择非线性变换增强或分段线性变换增强。非线性变换增强和分段线性变换增强的区别在于,分段线性灰度变换是将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,而非线性变换拉伸是在整个灰度范围内采用统一的变换函数,利用变换函数的性质实现对不同灰度值区间的扩展和拉伸[2][3]3设计内容3.1线性灰度变换的概述线性变换简单的线性灰度变换法可表示为g(x,y)=(d-c/b-a)[f(x,y)-a]+c,其中:b和a分别是输入图像亮度分量的最大值和最小值,d和c分别是输出图像亮度分量的最大值和最小值。经过线性灰度变化法,图像亮度分量的线性范围从[a,b]变化到[c,d],如图3.1所示:图3.1线性拉伸示意图若图像中大部分像素的灰度级分布在区间[a,b]内,M为原图的最大灰度级,只有很小一部分的灰度级超过了此区间,则为了改善增强效果,可以令: (3.1)由于人眼对灰度级别的分辨能力有限,只有当相邻像素的灰度值相差到一定程度时才能被辨别出来。通过上述变换,图像中相邻像素灰度的差值增加,例如在曝光不足或过度的情况下,图像的灰度可能会局限在一个很小的范围内,这时得到的图像可能是一个模糊不清,似乎没有灰度层次的图像。采用线性变换对图像中每一个像素灰度作线性拉伸,将有效改善图像视觉效果。[4]3.2分段线性灰度变换的概述为了突出图像中感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区间,可采用分段线性变换,它将图像灰度区间分成两段乃至多段分别作线性变换。进行变换时,把0~255整个灰度值区间分为若干线段,每一个直线段都对应一个局部的线性变换关系。常用的三段线性变换如图3.2所示:图3.2分段线性拉伸示意图图中,中间段的灰度得到拉伸,两端灰度被压缩公式如3.2所示: (3.2)3.3非线性灰度变换的概述非线性拉伸不是对图像的整个灰度范围进行扩展,而是有选择的对某一灰度范围进行扩展,其他范围的灰度值则有可能被压缩。非线性拉伸利用变换函数的数学性质实现对不同灰度值区间的扩展与压缩。下面介绍其中一种非线性扩展法:对数变换。对数变换,是指输出图像的像素点的灰度值与对应的输出图像的像素灰度值之间为对数关系,其一般公式为:g(x,y)=a+ln[f(x,y)+1]/blnc,式中a,b,c都是可以选择的参数,式中f(x,y)+1是为了避免对0求对数,确保ln[f(x,y)+1]≥0。当f(x,y)=0时,ln[f(x,y0+1),则y=a,则a为y轴上的截距,确定了变换曲线的初始位置的变换关系b,c,两个参数确定变换曲线的变换速率。对数变换扩展了低灰度区,压缩了高灰度区,能使低灰度区的图像较清晰地显示出来。[5]4程序代码设计4.1线性变换增强4.1.1线性变换增强流程图4.1线性变换流程如图4.1所示,先将输入的灰度图像f(x,y)的位置及标签设置好之后,选择线性函数对原灰度图像进行灰度拉伸的处理,增强其对比度,得到变换之后的图像并输出。4.1.2线性灰度变换增强设计I=imread('E:\fish.jpg');%读入原图像I=im2double(I);%转换数据类型为double[M,N]=size(I);%计算图像面积figure(1);subplot(121);%打开新窗口,设置图像位置imshow(I);%显示原图像title('原图像');%定义标签Fa=6;Fb=-160;O=Fa.*I+Fb/255;%线性变换公式figure(1);subplot(122);imshow(O);title('灰度变换后的图像');4.2分段线性变换增强4.2.1分段线性变换增强流程图4.2分段线性变换如图4.2所示,先将输入的灰度图像f(x,y)的位置及标签设置好之后,再设置灰度值变化的范围,分别为0-70,70-180和180-255。这三个范围的变化函数不同,从而达到使图像的灰度值拉伸程度不同的目的。经过分段线性变换后,得到变换后的图像g(x,y)。[6]4.2.2分段线性灰度变换增强设计A=imread('E:\girl.jpg');%读入原图像X1=rgb2gray(A);%将彩色图像变成灰度二值图像subplot(221);imshow(X1); %输出图像title('原图像');%在原始图像中加标题f0=0;g0=0;%进行灰度级线性分段增强;f1=70;g1=30;f2=180;g2=230;f3=255;g3=255;subplot(222);plot([f0,f1,f2,f3],[g0,g1,g2,g3]);axistight,xlabel('f'),ylabel('g'),title('灰度变换曲线');%绘制灰度变换曲线%增强对比度r1=(g1-g0)/(f1-f0);b1=g0-r1*f0;r2=(g2-g1)/(f2-f1);b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);b3=g2-r3*f2;[m,n]=size(X1);X2=double(X1);%变换矩阵中的每一个元素fori=1:m;forj=1:nf=X2(i,j);g(i,j)=0;if(f>=0)&(f<=f1)g(i,j)=r1*f+b1;elseif(f>=f1)&(f<=f2)g(i,j)=r2*f+b2;elseif(f>=f2)&(f<=f3)g(i,j)=r3*f+b3;endendendsubplot(223);imshow(mat2gray(g));%输出变换之后的图像title('分段线性变换后的图像');4.3非线性变换增强4.3.1非线性变换增强流程图4.3非线性变换如图4.3所示,先将输入图像f(x,y)的位置和标签设置好之后,确定图像灰度拉伸和压缩的范围,按照要求设置参数,利用对数函数对原始灰度图像进行非线性变换得到输出图像g(x,y)。[7]4.3.2非线性灰度变换增强设计I=imread('E:\knot.png');%读取图像I=mat2gray(I);%将一个矩阵转化为灰度图像的数据格式I=im2double(I);%转化为双精度J=log(I+1);subplot(1,2,1);Imshow(I);%显示图像title('原图像');subplot(1,2,2);Imshow(J);title('非线性对数变换后的图像')

5仿真结果与分析在MATLAB7.1中运行以上程序,分别对三幅灰度图像分别进行线性变换,分段线性变换和非线性变换后得到灰度被拉伸和压缩的图像。得到变换后的灰度图像并加以比较分析。5.1线性灰度变换仿真结果利用MATLAB7.1对灰度图像进行线性灰度变换得到变换后灰度图像。图5.1(a)原图像图5.1(b)变换图像如图5.1(a)和5.1(b)所示,左面的图像为处理之前的原图像,对比度相对较小。采用线性函数对其每一个像素做线性拉伸之后得到右面的图像,图像的灰度值相比原图像变大。经过变换后的图像与原图像相比较扩大了对比度,有效的增强了视觉效果。5.2分段线性灰度仿真结果利用MATLAB7.1对灰度图像按照灰度值的不同进行分段线性灰度变换得到变换后灰度图像。图5.2灰度变换曲线图5.3(a)原图像图5.3(b)变换图像如图5.2,5.3(a)和5.3(b)所示,灰度变化的范围分别是0-70,70-180和180-255。这种变换方式对不同范围的灰度值进行不同的拉伸处理,中间灰度值进行了拉伸而对两端的灰度值进行了压缩。变换后的图像变亮并且突出了人物的部分,达到了增强图像效果的目的。5.3非线性灰度变换仿真结果利用MATLAB7.1对灰度图像按照灰度值的不同进行非线性灰度变换得到变换后灰度图像。图5.4(a)原图像图5.4(b)变换图像如图5.1(a)和5.1(b)所示左面的图像为处理之前的原图像,右面的图像为经过非线性变换之后的图像。这种变换有选择地对某一灰度值范围进行扩展,而其他范围的灰度值有可能进行压缩,达到图像增强的效果。5.4结果分析线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。该方法将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,使得整张图片效果得到增强。非线性拉伸对某一范围的灰度值有选择地进行拉伸,其它部分进行压缩。增强了图片中感兴趣的部分的灰度值而压缩了其余部分的灰度值。非线性拉伸与分段线性拉伸不同的是,非线性拉伸不是通过在不同灰度值区间选择不同的拉伸方程来实现对图片的扩展与压缩的,非线性变换拉伸在整个灰度范围内采用统一的变换函数,利用变换函数的性质实现对不同灰度值区间的扩展和拉伸。6.结论在曝光不足或曝光过度,或景物本身灰度就比较小的情况下,图像灰度有可能会局限在某一个很小的范围,致使图像中的细节模糊不清。正如灰色纽扣掉在与纽扣颜色相近的地毯上就不容易被找到,原因就是他们的颜色太接近。但是,如果白色纽扣掉到黑色的地毯上就会很容易地被找到,原因就是它们的亮度反差大。同样,对于灰度局限在某一个很小范围内的数字图像,如果用线性函数对图像的每一个像素进行线性扩展,扩大像素的对比度,将有效地改善视觉效果。该方法将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,使得图片效果得到增强。线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。在实际应用中,为了突出图像中感兴趣的研究对象,常常该

温馨提示

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

评论

0/150

提交评论