欢迎来到天天文库
浏览记录
ID:61936799
大小:87.00 KB
页数:7页
时间:2021-03-31
《数字图像处理2011 02亮度对比度教学文稿.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、__________________________________________________第二章亮度/对比度处理一、亮度处理直观结果:图像整体变亮(暗)。原理:加大(减小)每个像素点的三基色值。计算式:V=V'*(1+d)V——调整后的颜色值V'——原颜色值d——亮度调整系数,-1<=d<=1亮度处理编程:亮度处理是对各像素的各基色值独立进行处理,对当前颜色值的处理结果与其它颜色值无关。因此,可对像素数据块中的各字节逐个进行处理。在写具体的处理程序之前,先明确已定义的全局变量。BYTE*ImageData;//图像数据块intImageSize;//图像数据的字节数intWidth,
2、Height;//图像的宽度和高度intWidthBytes;//每行字节数程序如下:voidModifyLight(floatd){inti,v;d=1+d;for(i=0;i255)v=255;ImageData[i]=(BYTE)v;}}二、对比度处理直观结果:亮处更亮,暗处更暗___________________________________________________________________________________
3、_________________原理:以亮度的中间值为基准,加大较大的颜色值,减小较小的颜色值中间值的取法:固定取127;取所有像素点各基色的平均值。计算公式:V=127+(V'-127)*(1+d)V——调整后的颜色值V'——原颜色值d——对比度调整系数,-1<=d<=1voidModifyContrast(floatd){inti,v;d=1+d;for(i=0;i255)v=255;if(v<0)v=0;ImageData[i]=(BYTE)v;}}三、代码优化处理对象的取值为0~255的整
4、数,共256个可能的取值。因而可以预先算出对每个颜色值的处理结果,形成一个表(数组),对每个像素的每个颜色值可直接通过查表得到处理结果,而不需要再逐个计算。称为查表法。采用查表法的亮度处理程序。voidModifyLight(floatd){inti,v;d=1+d;BYTEcolMap[256];for(i=0;i<256;i++){v=i*d+0.5;if(v>255)v=255;colMap[i]=(BYTE)v;}for(i=0;i5、_______________________________________________________________________}查表法的前提:原颜色值的可能的取值数量有限。作业:写出采用查表法的对比度处理函数:voidModifyContrast(floatd)四、颜色映射图亮度处理、对比度处理是对颜色数据的一种变换处理,其按照一定的规则将原颜色值变换为新颜色值,一个具体的处理就构成了原颜色值到新颜色值之间的一种变换关系,也即映射关系。这种映射关系可以在二维平面中用图形的形式表示出来,即形成了颜色映射图。映射关系图的表示方式为:原颜色值对应于X轴,处理后的值对应于Y轴,形成映射6、关系坐标系,一个具体的处理就对应于坐标系中的一条曲线,一个x值在曲线上的y值,也就是相应的原值处理得到的新值。如亮度加大50%的处理对应的映射曲线如下,其中45度线为等值变换线。对比度增加50%的处理映射曲线如下:____________________________________________________________________________________________________对颜色值的任何处理都可以归结为这样一个映射问题,都可以在映射图中用一条线段表示出来。反之,在映射图中任意画一条线也就对应着对颜色值的一种处理。因而,对颜色值的处理就不只局限于亮度和对比度7、处理,而还存在着其它很多处理方式。只是,亮度处理和对比度处理是有着直接含义的两种基本处理,其它的处理的含义往往都是基于亮度和对比度来进行解释。按照映射线段的形态,其它的处理可分为两类,一是线性映射,其映射线段是直线;二是非线性映射,其映射线段是曲线。五、任意线性映射——色阶处理线性映射的映射线段是一条直线,直线可以由直线上的两个点来定义,映射坐标系中的一个点由一对原值和新值构成,因而,给定两对原值
5、_______________________________________________________________________}查表法的前提:原颜色值的可能的取值数量有限。作业:写出采用查表法的对比度处理函数:voidModifyContrast(floatd)四、颜色映射图亮度处理、对比度处理是对颜色数据的一种变换处理,其按照一定的规则将原颜色值变换为新颜色值,一个具体的处理就构成了原颜色值到新颜色值之间的一种变换关系,也即映射关系。这种映射关系可以在二维平面中用图形的形式表示出来,即形成了颜色映射图。映射关系图的表示方式为:原颜色值对应于X轴,处理后的值对应于Y轴,形成映射
6、关系坐标系,一个具体的处理就对应于坐标系中的一条曲线,一个x值在曲线上的y值,也就是相应的原值处理得到的新值。如亮度加大50%的处理对应的映射曲线如下,其中45度线为等值变换线。对比度增加50%的处理映射曲线如下:____________________________________________________________________________________________________对颜色值的任何处理都可以归结为这样一个映射问题,都可以在映射图中用一条线段表示出来。反之,在映射图中任意画一条线也就对应着对颜色值的一种处理。因而,对颜色值的处理就不只局限于亮度和对比度
7、处理,而还存在着其它很多处理方式。只是,亮度处理和对比度处理是有着直接含义的两种基本处理,其它的处理的含义往往都是基于亮度和对比度来进行解释。按照映射线段的形态,其它的处理可分为两类,一是线性映射,其映射线段是直线;二是非线性映射,其映射线段是曲线。五、任意线性映射——色阶处理线性映射的映射线段是一条直线,直线可以由直线上的两个点来定义,映射坐标系中的一个点由一对原值和新值构成,因而,给定两对原值
此文档下载收益归作者所有