白平衡
白平衡

Z) (E N
什 么 是 白平 衡
球 上不 同地 区的光 线也有 差别。人 造光在 颜 智能。在数码相机的法则中,光线颜色的变化
白平 衡 是 数 码 单 反 相 机 上 一 套 使 颜 色 看 色 方面 的 差 异 就 更 加 明 显 了 ,我 们 通 常 在 生 活 是通过色温来衡量的,也就是通常所说 的开 尔
自动 白平衡”之外 , 多相机里还 希『 爱镜放到镜头前 ,调整色彩平衡镜的角度 , 很 必 码单 反相 机 拍摄 高清 视频 的时候 ,如果 需 要获 得 环境 ,除 了 “
例 画面 的准 确 色彩信 息 ,那 么 就 必须 要使 用 自定 义 有 一 组 可 选 择 的 预 设 白平 衡 , 如 晴 天 、多云 、 保 证 色 彩平 衡 镜 的镜 面 上 没 有 强烈 的光 线 反 光。 闪 钨 这 镜 白平衡 了。对 于普 通 用户 而 言 ,视频 的色 彩调 整 阴 影 、 光 灯 、 丝 灯 等 等 , 些 设 置 在 大 多 数 让镜 头 与色 彩 平衡 镜 镜 面 平行 , 面 尽 量 充满 画
0O 之 线 随 着一 天 时间 和 季 节 的 变 化 而 不 同 ,另 外 地 同 颜 色 ,可是 我 们 的数 码 单 反 相 机远 没 有人 眼 6 O K 间。
影 像 视 觉 Oct e 01 ob r 2 0
视频 影像 的 自平 衡
白平衡”的功 能 ,数码相机 能够适应大部 分环 手动设置。我们可 以使用 类似希 必爱全 色彩平
衡镜这样的专用 白平衡校; 隹设备, 先将数码相机 在 拍 摄 图 片时 ,我 们 可 以 使 用R W 文 件 拍 境 ,从 而 自动调 节 色 温 值 。 但 是 数 码 相 机 的 自 A 自定 义 白平 衡 ”然后 将 , 撮 ,在 后 期 处理 时校 正 白平 衡 。但 是 在我 们 用数 动 调 节 有 时 候 并 不 精 确 ,为 了适 应 更 多 的 拍 摄 里 的 白平 衡 选 项 设置 为 “
简明易懂摄影知识之白平衡篇

使用白平衡调整可以使白色的被摄体拍成白色.单色的被摄体在复数的光源下有时通过白平衡的调整可以呈现出完全不同的效果.o什么是白平衡?o使白色的物体拍摄出来也呈现出白色的功能就是白平衡.颜色对于照片来说非常重要.通常,在太阳光下白色的纸看上去是白色的.这好象是理所当然的事情.但是在白炽灯或蜡烛光下看确有点发橙色.物体的颜色在很大程度上受环境灯光的左右.我们的眼睛在观察物体时能够无意识地调整色差而不被注意, 但是这种的色差会清晰地显示在照片上.如果以太阳光为基准,雪景或背阴的时候照片会稍稍呈蓝色, 黄昏下会稍稍呈红色.白炽灯下会呈红色,荧光灯下根据实际产品的不同会有微妙的光的色差,有时候会发点绿色.如果是很多照明混合的室内(称混合光)呈现的颜色也非常复杂.通过修正将白色的物体拍摄出白的颜色就是白平衡功能.白色的物体拍出来就是白色(或者拍出人们喜欢的颜色),这种通过照相机能够自动修正的功能就称为[自动白平衡]功能.手动白平衡很多小型数码相机都有自动白平衡功能,基本上都可以将白色的物体拍摄成白色.但是如果自动白平衡不能满足你创作的要求时,比方说要故意强调色调的时候.这种场合,就需要自己设定所需要的白平衡状态。
以理光的caplio系列相机为例,可以预先根据拍摄环境来设定.有屋外(晴天阳光下)、阴天(阴天的天空或背阴处)、白炽灯1和白炽灯2,蛍光灯等.注意白炽灯就有2種.白炽灯1是在白炽灯下将白色的物体拍成白色.白炽灯2是在白炽灯下将白色的物体稍稍留点红.比如拍摄韵味浓厚的雅致小店,留一点白炽灯下的红色会显出现场的气氛,这种时候就很起作用.同时,颜色的红或蓝也称为「色温」.光的颜色越红色温就低.越发蓝色温就越高.其中白炽灯的色温最低,阴天光的色温最高.利用这个就可以拍摄出夸张的色彩效果.色温设定的越高颜色就越红,色温设定的越低颜色就越蓝.在室内要拍出发红的气氛就可以将白平衡设定为晴天.晴天下用阴天模式拍摄就增加了红色变成了有点象黄昏效果的照片.相反,在蓝天下用荧光灯效果拍摄,就变成非常非常蓝的天空.很有意思.自动白平衡 室内自然光下用自动白平衡拍摄玩具猫.自动修正白平衡所以颜色很正没有任何问题.白炽灯模式 同样的物品把白平衡设定为(比实际的光发红)白炽灯拍摄,因为实际色温比白炽灯高,所以整体发蓝。
白平衡的定义

不是所有的的相机和镜头是没有问题的,问题出在黑色发亮面料上,是由于漫射散光所至,所以应该加偏振镜拍摄。
建议借个偏正镜试试,再借个色温滤镜试试!
偏振镜:简称PL镜,这种滤光镜能够有效减弱或者消除非金属表面的反光。偏光镜在黑白和彩色摄影中均能使用。彩色摄影时加上偏光镜,可以使天空的颜色变得深暗,而仍能保持景物的其他原有色彩。另外偏光镜可以有效提高色彩的饱和度,提高反差,在风景摄影、花卉摄影和拍摄某些特定的反光比较强烈的景物时很有用处。
室内和室外模式,只是针对晴天阳光充足时的室外和用60W左右钨丝灯泡照明的室内,这两种具有代表性的光线色调条件下的白平衡调整,并不能代表全部的室内和室外环境下的白平衡调整,并不具备普遍意义。因此在一些特殊色温环境下的拍摄,还是靠手动来调整白平衡。
在超出自动白平衡调节范围的光线条件下,就要在拍摄现场光源下进行手动白平衡调整。进行手动调节前需要找一个白色参照物,如纯白的白纸—类的东西,用镜头对准它充满相机取景器,调整手动白平衡(不同的机器调整方法不同,可参阅,一般是按住手动白平衡钮1-2秒系统提示完毕即可),有些摄像机备有白色镜头盖,这样只要盖上白色镜头盖就可以进行白平衡的调整了。注意,一定要在被摄现场光线下进行。
色温滤镜:色温滤镜顾名思义最根本的作用就是改变色温,具体分减少色温和增加色温两种。减少色温的滤镜能加强暖色,使阴雨天或者正午拍摄的照片蓝色调得到减少,人像肤色红润(如一些大型平面广告上的明星)。而增加色温的滤镜能够有效地减少造成和黄昏散布的红黄色调,加强蓝色调,而此类变色温滤镜一般在型号的最后用A/B/C表示效果,A最弱C最强。
现在的数码相机都有白平衡感测器,一般位于镜头的下面。白平衡机构会试图把白色制成纯白色。如果这个最亮的部分是黄色,它会加强蓝色来减少画面中的黄色色彩,以求得更为自然的色彩。摄像机只要在拍摄白色物体时正确还原物体的白色,就可以在同样的照明条件下正确还原物体的其他色彩。
相机白平衡怎么调

相机白平衡怎么调相机白平衡是摄影中非常重要的一个技术参数,它可以影响照片的色彩还原效果。
在不同的光线条件下,相机的白平衡设置不同,可以通过调整相机的色温来使照片色彩还原更加准确,达到更好的拍摄效果。
一、白平衡的概念及影响因素1. 白平衡的概念:白平衡是指相机在不同光源下,通过调整相机的色温,使白色以及其他颜色能够真实还原,并且色温不发生偏移。
2. 影响白平衡的因素:主要有光源的颜色温度、环境的光线状况以及摄影者的个人喜好等。
二、相机白平衡的调整方法1. 自动白平衡模式:相机自动调整白平衡,根据环境光线自动识别,适用于大多数场景。
2. 手动白平衡模式:摄影者根据实际情况手动设置白平衡,可以根据具体光源情况进行调整。
三、常见的白平衡模式1. 日光模式:适用于室外阳光明亮的场景,能够还原出明亮、自然的色彩效果。
2. 阴天模式:适用于室外天空阴暗的场景,能够提高照片整体亮度,还原天空的蓝色。
3. 白炽灯模式:适用于室内白炽灯光照射的场景,能够消除黄色的色偏,使照片更加真实。
4. 荧光灯模式:适用于室内荧光灯光照射的场景,能够消除绿色的色偏,使照片还原准确。
5. 随意模式:用户可以根据实际情况手动调整白平衡,根据个人喜好来达到理想的色彩效果。
四、手动调整相机白平衡的步骤1. 进入相机菜单,找到白平衡选项,进入设置界面。
2. 选择手动白平衡模式,相机会显示一个色温调整的滑动条。
3. 根据具体光线情况以及拍摄需求,调整滑动条的位置,改变相机的色温。
4. 在取得理想色彩的情况下,按下快门进行拍摄。
五、使用白平衡卡进行校准1. 准备一张专业的白平衡卡,白平衡卡通常有灰度卡和白色卡两种。
2. 将白平衡卡放置在拍摄环境中,确保其处于主要光源下。
3. 进入相机菜单,选择手动白平衡模式,并将焦点对准白平衡卡。
4. 按下快门,相机会自动分析白平衡卡的颜色温度,并进行校准。
5. 拍摄时保持白平衡卡出现在每一组照片中,以确保照片色彩还原准确。
白平衡的概念

白平衡的概念白平衡,就是指能够真实反映物体本身固有色和环境色之间的色差的能力。
通过调节白平衡,可以改变不同色温和不同色饱和度的被摄物体的色彩还原效果。
白平衡的概念很广,从理论上讲,自然界任何物体都具有自己独特的色温和色饱和度,这种色彩的还原效果,称为“色彩还原”或者“白平衡”。
但人眼能分辨出的色温和色饱和度范围极窄,而且只能在某一色温下看到某一色饱和度,所以如果没有通过白平衡调节,再好的摄影器材和镜头也无法把白色物体拍摄得接近其真实色彩。
(一)白色物体与黑色物体的关系1、在光谱中,白光的波长最短,亮度最高,穿透力最强。
2、在生活中,我们都习惯将白色物体称为白色。
而习惯上认为,黑色是物体本身固有的颜色,那么白色呢?也是物体本身固有的颜色吗? 3、事实上,不仅黑色物体会吸收大量的光线,同样地,在阳光下曝晒的物体也会因吸收和反射了足够多的太阳光而呈现白色。
(二)用不同的方法测定同一物体的白色感觉1、如何利用肉眼来判断白色2、如何利用相机的测光表确定合适的光圈和快门速度?3、如何利用照片后期处理软件来校正色温?4、如何使用打印机对输出的照片进行相应的校正?5、你需要重点掌握哪些因素对白色的影响?三、白色物体对于视觉的影响: 1、各类被摄体的色彩的不同,对白色的感觉也不同; 2、亮部、暗部对白色的感觉影响极大; 3、有色彩衬托时,白色会显得更加洁净; 4、室内物体较暗时,白色往往容易被误解成灰色; 5、在拍摄时,白色物体容易引起注意,而鲜艳的色彩往往会使人忽略白色的存在; 6、利用白炽灯或日光灯泡制造白色,其白色色调最接近人眼的生理色调; 7、如果加入灰色作为白色的衬底色,或白色物体的周围加上白色物体,可以得到更明亮的白色;8、在逆光情况下拍摄白色物体,通过使用曝光补偿,可以减少对主体曝光量的要求。
二、影响白色感觉的因素: 1、与照明光源的色彩有关系白色是由白炽灯发出的光线反射得到的,如果摄影器材使用的白炽灯,而且灯管又长又粗,那么所得到的白色与自然白色就很接近了。
白平衡 原理

白平衡原理
白平衡是一种数码相机和摄像机中常用的测光技术,用于调整图像中的颜色偏差,使图像中的白色保持真实和准确。
在现实世界中,我们所看到的白色通常是没有色彩偏差的纯白色。
然而,由于不同光源的不同特性,如日光、荧光灯、钨丝灯等,不同的光源产生的光的颜色也会有所不同。
这就导致了在不同光源下拍摄的照片或录制的视频中,白色看起来可能带有不同的颜色偏差。
白平衡的原理就是要根据拍摄场景中的光源特性来调整相机的色温设置,以拍摄出真实的颜色。
通常,相机会根据场景中的白色参考点(如白纸、白墙等)来进行测光,然后根据光源的颜色温度对图像中的颜色进行校正。
这样,无论是在日光下、荧光灯下还是室内温暖的灯光下拍摄的照片,白色都能够呈现出真实的颜色。
具体来说,白平衡可以通过以下几种方式进行调整:
1. 自动白平衡(AWB):相机会自动根据场景中的光源特性进行测光和调整,通常是默认设置。
2. 预设白平衡(Preset WB):根据不同的光源类型选择预设的白平衡设置,如日光、荧光灯、阴天等。
3. 手动白平衡(Manual WB):通过在特定场景中使用白平衡卡或其他具有已知颜色温度的参考物进行手动调整。
总之,白平衡原理的目的是通过校正相机的色温设置,确保照片或视频中的白色呈现真实和准确,从而提高图像的质量。
这一技术在数码摄影和摄像中非常重要,有助于消除颜色偏差,使图像更加真实自然。
数码相机基础术语:白平衡

数码相机基础术语:白平衡白平衡英文名称为White Balance。
物体颜色会因投射光线颜色产生改变,在不同光线的场合下拍摄出的照片会有不同的色温。
例如以钨丝灯(电灯泡)照明的环境拍出的照片可能偏黄,一般来说,CCD没有办法像人眼一样会自动修正光线的改变。
下面一些图片,就显示了在不同颜色光线下的不同图象。
此图为原色图此图为在正常光源下使用白平衡的图片第一幅图片采用自然光,强加白平衡后,图像偏蓝。
若在灯光底下用白平衡,图片的色调就会恢复到原色状态,白平衡会按目前画像中图像特质,立即调整整个图像红绿蓝三色的强度,以修正外部光线所造成的误差。
有些相机除了设计自动白平衡或特定色温白平衡功能外,也提供手动白平衡调整。
平衡就是无论环境光线如何,让数码相机默认“白色”,就是让他能认出白色,而平衡其他颜色在有色光线下的色调。
颜色实质上就是对光线的解释,在正常光线下看起来是白颜色的东西在较暗的光线下看起来可能就不是白色,还有荧光灯下的"白"也是"非白"。
对于这一切如果能调整白平衡,则在所得到的照片中就能正确地以"白"为基色来还原其他颜色。
现在大多数的商用级数码相机均提供白平衡调节功能。
正如前面提到的白平衡与周围光线密切相关,因而,启动白平衡功能时闪光灯的使用就要受到限制,否则环境光的变化会使得白平衡失效或干扰正常的白平衡。
一般白平衡有多种模式,适应不同的场景拍摄,如:自动白平衡、钨光白平衡、荧光白平衡、室内白平衡、手动调节。
1、自动白平衡自动白平衡通常为数码相机的默认设置,相机中有一结构复杂的矩形图,它可决定画面中的白平衡基准点,以此来达到白平衡调校。
这种自动白平衡的准确率是非常高的,但是在光线不足条件下拍摄时,效果较差,比如在多云天气下,许多自动白平衡系统的效果极差,它可能会导致偏蓝。
2、钨光白平衡钨光白平衡也称为“白炽光”或者“室内光”。
设置一般用于由灯泡照明的环境中(如家中)当相机的白平衡系统知道将不用闪光灯在这种环境中拍摄时,它就会开始决定白平衡的位置,不使用闪光灯在室内拍照时,一定要使用这个设置。
白平衡介绍

色温
•
• • • • • • • • • • • •
在了解白平衡之前还要搞清另一个非常重要的概念――色温。所谓色温, 简而言之,就是定量地以开尔文温度(K)来表示色彩。英国著名物理学家开 尔文认为,假定某一黑体物质,能够将落在其上的所有热量吸收,而没有损 失,同时又能够将热量生成的能量全部以“光”的形式释放出来的话,它便 会因 受到热力的高低而变成不同的颜色。例如,当黑体受到的热力相当于500— 550℃时,就会变成暗红色,达到1050-1150℃时,就变成黄色,温度继续 升高会呈现蓝色。光源的颜色成分是与该黑体所受的热力温度是相对应的, 任何光线的色温是相当于上述黑体散发出同样颜色时所受到的“温度”,这 个温 度就用来表示某种色光的特性以区别其它,这就是色温。打铁过程中,黑色 的铁在炉温中逐渐变成红色,这便是黑体理论的最好例子。色温现象在日常 生活中非常普遍,相信人们对它并不陌生。钨丝灯所发出的光由于色温较低 表现为黄色调,不同的路灯也会发出不同颜色的光,天然气的火焰是蓝色 的,原因是色温较高。正午阳光直射下的色温约为5600 K,阴天更接近室内 色温3200K。日出或日落时的色温约为2000 K,烛光的色温约为1000 K。这 时我们不难发现一个规律:色温越高,光色越偏蓝;色温越低则偏红。某一 种色光比其它色光的色温高时,说明该色光比其它色光偏蓝,反之则偏红; 同样,当一种色光比其它色光偏蓝时说明该色光的色温偏高,反之偏低。
• 照片受拍摄场所的光线影响很大。白平衡 就是指对此进行调节的一种功能。在自动 模式下颜色不自然时,根据拍摄场所的光 线,选择“白天”、“钨灯”、“荧光灯” 等模式进行拍摄会得到更好的效果。如果 需要更逼真的色彩,则可以通过手动设置。 • 除了自动和手动白平衡以外,一些高级点 的数码相机还提供了“白平衡包围“功能。 一般来说,该功能就是使用不同的白平衡 模式一次拍摄3张照片,一张正常、一张偏 蓝、一张偏红,这样就可以让用户进行对 比选择,使得拍摄更加灵活。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、原始的灰色世界算法要计算未知光源的特性必须从图片中提取相关的统计特性。
当我们能够仅使用一个统计特性就获得未知光源特性时,算法就变得非常简单了。
在这种情况下,未知光源必须在整幅图片上都是统一的。
均值于是就成为了此类方法之下最好的统计指标。
而灰色世界法正是利用了均值作为估算未知光源的关键统计量。
从物理意义上说,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为“灰色”。
在给定图片的白平衡算法中,灰色世界假设图片中的反射面足够丰富,以至于可以作为自然界景物的一个缩影。
若这幅图片是在经典光源下拍摄的,其均值就应该等于灰色。
若这幅图是在非经典光源下拍摄的,那么均值就会大于或者小于灰色值。
而该均值对于灰色的偏离程度则反映了未知光源相对于已知光源的特性。
(就是因为这个假设,实际上灰度世界对图片色彩不丰富的情况,效果不是很好)虽然这个方法比较简单,但是仍然可以从一些方面进行调整。
一个方面就是对于灰色的定义形式的选择。
包括对于光谱的定义、对于光谱成分的定义和在经典光源之下的 RGB 的响应。
另一个更加重要的调整方面就是对于灰色的选择。
不管如何定义灰色,最佳的灰色之选必然是自然界实事上出现的灰色。
但是这个值是无法获得的(除非是合成数据),所以对于灰色的选择是不同的灰色世界算法的一个重要的区别点。
一个方法是假设这个灰色就是实事上的灰色。
也就是说反射光谱是均衡的。
给定光源之下的 RGB响应是纯白色对此光源的响应值的一部分。
比方说,可以使用50%作为反射率(虽然这个灰色值对于人眼视觉习惯而言可能过于明亮)。
另一种方法,就是根据大量的数据提炼出一个均值,并把它定义为灰色。
这种方法提炼的灰色值可能因为数据库使用的不同而有所不同。
最终提炼的灰色也能仅适用于原始的数据库,而对于数据库未包括的图片的适用度就会比较差一些。
确定下来的灰色表达形式可以用来表示。
下标 i 表示信道,上标 c为canonical的首字母,表示经典光源。
在确定灰色的表达形式后只要用 RGB响应与经典光源下灰色的比值来归一化图片就可以了。
假设 RGB响应均值为,下标 i 表示信道,上标 U为Unknown的首字母,表示未知光源。
那么归一化率的计算式为如下式所示:根据光源转换理论,从未知光源到经典光源下图片表达式的转换式如下式所定义:以下是实现:灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R、 G、 B 三个分量的平均值趋于同一个灰色K。
一般有两种方法来确定该灰度。
(1)直接给定为固定值, 取其各通道最大值的一半,即取为127或128;反射光谱均衡(2)令 K = (R aver+G aver+B aver)/3,其中R aver,G aver,B aver分别表示红、绿、蓝三个通道的平均值。
最终提炼的灰色也能仅适用于原始的数据库,而对于数据库未包括的图片的适用度就会比较差一些。
算法的第二步是分别计算各通道的增益:归一化K r=K/R aver;K g=K/G aver;K b=K/B aver;算法第三步为根据Von Kries 对角模型,对于图像中的每个像素R、G、B,计算其结果值:光源转换R new = R * K r;Gnew = G * K g;Bnew = B * K b;对于上式,计算中可能会存在溢出(>255,不会出现小于0的)现象,处理方式有两种。
a、直接将像素设置为255,这可能会造成图像整体偏白。
b、计算所有R new、G new、B new的最大值,然后利用该最大值将将计算后数据重新线性映射到[0,255]内。
实践证明这种方式将会使图像整体偏暗,建议采用第一种方案。
二、完美反射算法根据图像形成理论,对于纯白色的反射面而言,无论光源是什么颜色,最终反射后的颜色总能完全表现出光源的颜色。
如果景物中有纯白的部分,那么就可以直接从这些像素中提取出光源信息。
基于这种思想的方法都被称为是镜面法。
与灰色世界法类似的,镜面法也有多种调整方式。
在本文中着重介绍两种。
第一种方法较为基本也较为简便。
这种方法假设图片中一定有纯白色面存在,那么在经典光源下,图片中所有像素点三个信道的最大值都应该等于 255,或者是一个给定的纯白色的值。
在任何其他的光源下,图片纯白色点的像素值就会小于经典光源下的纯白色,并且这些点将代表整幅图片中最亮的点。
那么只要将各信道的值按比例规一化到最大值(纯白色)就可以获得在经典光源下的图片了。
假设经典的白色表达形式可以用来表示。
下标 i 表示信道,上标 c 表示经典光源。
假设 RGB 响应的最值为,下标 i 表示信道,上标 U 表示未知光源。
那么归一化率的计算式为如下式所示:根据光源转换理论,从未知光源到经典光源下图片表达式的转换同样可以用下式定义:原理:完美全反射理论perfect Reflector 假设图像上最亮点就是白点,并以此白点为参考对图像进行自动白平衡,最亮点定义为R+G+B 的最大值,具体编码步骤如下:(1)计算每个像素的R\G\B 之和分布,并保存到一临时内存块中。
1 2 3 4 5 6 7 8 9 10 11 12 for (Y = 0; Y < Height; Y++) { Pointer = bmp.Pointer + Y * Stride; for(X = 0; X < Width; X++) { Sum = (short)(*(Pointer) + *(Pointer + 1) + *(Pointer + 2)); // R+G+B HistRGB[Sum]++; *SumP = (short)Sum; Pointer += 3; SumP++; } }(2)按R+G+B 值的大小计算出其前10%或其他Ratio 的白色参考点的的阈值T 。
1 2 3 4 5 for (Y = 767; Y >= 0; Y--){Sum += HistRGB[Y];if(Sum > Width * Height * Ratio / 100){6 7 8 9 Threshold = Y;break;} }(3)遍历图像中的每个点,计算其中R+G+B 值大于T 的所有点的R\G\B 分量的累积和的平均值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 for (Y = 0; Y < Height; Y++){Pointer = bmp.Pointer + Y * Stride;for(X = 0; X < Width; X++){if(*SumP > Threshold){AvgB += *Pointer;AvgG += *(Pointer + 1);AvgR += *(Pointer + 2); // 为获得增益做准备 Amount++;}Pointer += 3;SumP++;}}AvgB /= Amount;AvgG /= Amount;AvgR /= Amount; (4)对每个点将像素量化到[0,255]之间。
for (Y = 0; Y < Height; Y++){Pointer = bmp.Pointer + Y * Stride;for(X = 0; X < Width; X++){Blue = *Pointer * MaxValue /AvgB; // 另外一种算法需要先计算不抑制重新计算的RGB 的范围,然后求RGB 的最大值,如果最大值大于255,则所有的结果都要除以最大值在乘以255,但实际表明该算法、 不合适; Green = *(Pointer + 1) * MaxValue / AvgG;Red = *(Pointer + 2) * MaxValue / AvgR;if(Red > 255) Red = 255;elseif(Red < 0) Red = 0; // 这里需要判断,因为RGB空间所有的颜色转换到YCbCr后,并不是填充满了0-255的范围的,反转过去就会存在一些溢出的点。
if(Green > 255) Green = 255;elseif(Green < 0) Green = 0; // 编译后应该比三目运算符的效率高if(Blue > 255) Blue = 255;elseif(Blue < 0) Blue = 0;*Pointer = (byte)Blue;*(Pointer + 1) = (byte)Green;*(Pointer + 2) = (byte)Red;Pointer += 3;}}三、动态阈值算法参考论文:A Novel Automatic White Balance Method For Digital Still Cameras同经典的一些算法相同,算法分为两个步骤:白点检测和白点调整。
白点检测:(1)为了增强算法的鲁棒性,原文将图像分成12部分,其中宽高比为4:3,关于这一点,我认为不合理,对图像不是通用的,后文再说。
(2)计算每个区域的Cb\Cr分量的平均值M b\M r。
(3)按下式计算每个区域的Cb\Cr分量的绝对差的累积值D b\D r:上式中N为每个区域的像素数。
(4)如果D b/D r的值偏小,则我们忽略这一块,因为这表明这一块的颜色分布比较均匀,而这样的局部对于白平衡不好。
这个偏小的准则我们稍微再谈。
(5)统计对于除了符合第四条的的其他区域的M b/M r/Db/Dr的平均值作为整幅图像的M b/M r/Db/Dr 值。
关于这一条,原文的话是:The final M b、M r、Db、Dr are obtained by taking the average of those regions that pass this additional step。
我在实际中做的时候就是分别对每块进行的,似乎效果也还不错。
(6)按下述规则初步确定哪些点是属于白色参考点:(7)对于初步判断已经属于白色参考点的像素,按大小取其亮度值为前10%的为最终确定的白色参考点。
白点调整:(1)计算白色参考点亮度值的平均值R aver,G aver,B aver,(各通道分开计算)。
(2)按照以下各式计算每个通道的增益:式中,Y max就是YCbCr颜色空间中Y分量的在整幅图像中的最大值。
(3)按照以下各式计算最终每个通道的颜色值:其中R/G/B为在原始的颜色空间中的值,注意这里要进行溢出检测的。
简单的谈下白点检测的分块操作吧,原文把图像分成4*3的12快,这样做是针对于我们很多数码照片是这个比例的,如果通用,我觉得应该用每个块的大小来控制,比如每块为 100*100个像素。