您好,欢迎访问三七文档
成绩:项目名称:基于VC数字图像的灰度变换I基于VC的图像灰度变换摘要随着信息时代的到来,图像已经成为信息社会的基本信息之一。数字图像处理是对图像信息的基本处理方法,它通过一些繁杂的算法对大量的图像数据进行运算以达到人们满意的图像效果。灰度变换是最常见的图像处理手段。常用的灰度变换功能包括灰度直方图、灰度线性变换、灰度阈值变换、灰度均衡等等。作为数字图像处理的一个重要部分,本文介绍了在VisualStudio2010中对图像进行灰度线性变换及对灰度均衡化修正,最后给出了程序的运行结果。程序大概分为两大部分:读写BMP图像和数字图像的灰度变换。即首先用VisualStudio2010创建一个MFC应用程序框架,再实现任意BMP图像的读写,完成经典的图像灰度变换功能。关键字:VisualStudio2010;图像处理;灰度变换IIGray-scaleTransformationofdigitalImagebasedonVCAbstractWiththeadventoftheinformationage,imagebecomesoneofthebasicinformationoftheinformationsociety.Digitalimageprocessingisabasicmethodofimageinformation,whichsomecomplicatedalgorithmoperatesonlargeamountsofimagedatainordertoachievethesatisfactoryeffects.Gray-scaletransformationisthemostcommonimageprocessingmethod.Gray-scaletransformationcommonlyusedincludehistogram,graylineartransformation,thresholdtransformation,graybalanceetc..Asanimportantpartofdigitalimageprocessing,mypaperintroducestheVisualStudio2010inthegrayimageHistogram,generatescorrectionofgraybalanceandgivesrunningresults.Theprogramiscomposedoftwoparts:anoperationBMPimageanddigitalimagegray-scaletransformation.First,createaMFCapplicationframeworkinVisualStudio2010andthenoperateanyBMPimagetocompletethegray-scaletransformationofclass.Keywords:VisualStudio2010;Imageprocessing;Gray-scaleTransformation1目录摘要............................................................IAbstract.......................................................II第1章引言......................................................21.1选题意义及背景...........................................21.2VisualStudio2010.........................................2第2章数字图像灰度变换基本概念..................................32.1灰度图..................................................32.2分段线性变换............................................32.3灰度分布均衡化..........................................4第3章程序流图.................................................63.1图像的线性灰度变换......................................63.2灰度均衡流程图..........................................7第4章运行及结果...............................................8第5章课程设计总结及展望.......................................10附录............................................................11参考文献........................................................162第一章引言1.1选题意义及背景近年来,无论在生活还是工程运用中涉及到的图像绝大多数是数字图像。它是用一个数字矩阵表示的,该阵的每个元素称为像素,像素是组成数字图像的基本元素,按照某种规律编成一系列的二进制熟吗来表示图像的每个点,所以又称为离散图像。对数字的处理已经广泛用于工业、医学、微生物、航空航天及国防等领域。从服装设计到对火星照片的处理,图像处理都扮演着举足轻重的角色,它已经深入到我们生活的方方面面了。获得图像信息非常重要,单目的不仅仅是为了获得图像,而是将图像信息进行处理,在大量复杂的图像中找到我们所需要的信息。因此图像信息处理在某种意义上讲,比获得图像更为重要,尤其在当今科学技术迅速发展的时代,对图像信息处理提出了更高的要求,以便更加快捷、准确、可靠地获得有用信息。影响系统图像清晰因素很多,图像质量不可避免的下降,轻者为图像不干净,难于看清细节,重者变现为图像模糊不清,连概貌也看不出来。因此,在对图像分析之前,必须对图像质量进行改善。图像处理用计算机对图像进行分析,以达到所需结果的技术。图像处理一般指数字图像处理数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组元素称为像素,其值为一整数,称为灰度值。图像处理技术主要内容包括图像压缩,增强和复原,匹配,描述和识别等部分。1.2VisualStudio20101.2.1VisualStudio2010简述VisualStudio2010(简称VS)是微软公司提供的基于C/C++的应用程序集成开发工具。它具有丰富的功能和大量的扩展库,能有效的穿件高性能的Windows应用程序和Web应用程序。VS的优越性主要表现在以下几个方面:1.开发分布式应用。2.开发的应用程序运行效率高、具有健壮性。3.能缩短软件升级周期。4.能够生成多线程应用,而多线程应用对于增加并发响应有实际意义。VS除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类(ATL),因此,它是软件开发人员不可多得的开发工具。1.2.2将VisualStudio2010应用于数字图像的灰度变换VS丰富的功能和大量的扩展库,类的重用特性以及它对函数库的支持能是程序更好的模块化,并且通过向导程序大大简化了资源库的使用和应用程序的开发,正由于VS具有明显的优势,因而我选择它作为数字图像灰度变换的开发工具。在本程序的开发过程中,VS的核心知识、消息映射机制、对话框控件等都得到了生动的体现和灵活的应用。3第二章数字图像灰度变换基本概念2.1灰度图灰度图(Grays-scale)是指只含亮度信息,不含色彩信息的图像。因此,要表示灰度图,就需要把亮度值进行量化。通常划分为0到255共256个级别,0最暗(全黑),255最亮(全白)。BMP格式的文件中并没有灰度图这个概念,但是可以很容易的用BMP文件来表示灰度图。方法是用256色的调色板,只不过这个调色板有点特殊,每一项的RGB值都是相同的。也就是说RGB值从(0,0,0),(1,1,1)一直到(255,255,255)。(0,0,0)是全黑色,(255,255,255)是全白色,中间的是灰色。对于R=G=B的色彩,带入YIQ或YUV色彩系统转换公式中可以看到其颜色分量都是0,即没有色彩信息。灰度图使用比较方便。首先RGB的值都一样;其次。图像数据即颜色表索引值,也就是实际的RGB的亮度值;另外因为是256色的调色板,所以图像数据中一个字节代表一个像素。如果是彩色的256色图,图像处理后有可能会产生不属于这256种颜色的新颜色,所以,图像处理一般采用灰度图。2.2分段线性变换分段线性变换和灰度的线性变换有点类似,都用到了灰度的线性变换。但不同之处在于分段线性变换不是完全的线性变换,而是分段进行线性变换。将图像灰度区间分成两段乃至多段,分别作线性变换称之为分段线性变换,如图2.1。分段线性变换的优点是可以根据用户的需要,拉伸特征物体的灰度细节,相对抑制不感兴趣的灰度级。图中的(0,x1),(x1,x2),(x2,255)等变换区间边界能通过键盘随时做交换式输入,因此,分段线性变换g255y2y10x1x2255f图2.1分段线性变换是非常灵活的。它的灰度变换函数如图所示,函数表达式如下:22)2255/()2)(2255(211)12/()1)(12(11/*1)(yxyxxxyxxxyxxxxyyxxxxyxf式中(x1,y1)和(x2,y2)是图中的两个转折点坐标。该变换函数的运算结果是将原图在x1和x2之间的灰度拉伸到y1和y2之间。通过选择的拉伸某段灰度区间,能够更加灵活地控制图像灰度直方图的分布,以改善输出图像量。如果一幅图像灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来拉伸(斜率1)物体灰度区间以改善图像质量;同样如果图像灰4度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率1)物体灰度区间以改善图像质量。2.3灰度分布均衡化直方图均衡方法的基本思想是对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减,从而达到清晰图像的目的。通过点运算使输入图像转换为在,每一灰度级上都有相同的像素点的目的,即输出图像的直方图是平的。这对于在进行图像比较和分割之前将图像转换为一致的格式是十分有益的。直方图是用来表达一幅图像灰度级分布情况的统计图表。直方图的横坐标是灰度,一般用r表示。纵坐标是灰度值为ir的像素个数或出现这个灰度值的概率。并知:图像像素总个数的像素个数灰度值为iirrrp)(1)(10kiirrp式中,k为一幅图像对应的灰度级数。图像灰度的直方图是反映一幅图像中的灰度级与出现这种灰度的概率之间关系的图像。设变量r代表图像中像素的灰度级,如果对它做归一化处理,r的值将在下述范围内:0r1在灰度级中,r=0代表黑,r=1代表白,从r=0到r=1之间数值的变化,反映了像素由黑至白的灰度变化。对于一幅给定的图像,每一像素取得(0,1)区间内的灰度级是随机的,1,,2,1,010Lkr即可以认为它是一个随机变量。假定r是连续的,那么可以用概率密度函数表示原始图像的灰度分布。对数字图来说,灰度级看成是离散的,归一化后的r取值范围为:这里,L为灰度级的数目。如前所述,一幅给定的图像的灰度级分布在[0,1]区间的任一个r值,都可以产生一个s值,且任一r值可按下式变换:)(rTsT(r)为变换函数。在原始图像中,每一个像素灰度值r都对应产生一个s值。假定由上式给定的变换函数满足下面两个条件:(1)在[0,1]区间内是单值单调增加函数;(2)在[0,1]区间
本文标题:c++图像灰度
链接地址:https://www.777doc.com/doc-3357966 .html