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