白平衡算法总结

合集下载

白平衡的基本原理

白平衡的基本原理

白平衡的基本原理一、白平衡的概念和作用白平衡是指在不同光源下,通过调整相机感光元件对三种基本颜色(红、绿、蓝)的接受比例,使得拍摄的图像中白色物体呈现出真实的白色。

白平衡的作用是消除不同光源下图像中颜色偏差,保证图像色彩真实自然。

二、白平衡的原理1. 光谱分析原理光线在经过物体反射后,其波长分布会发生变化。

因此,通过对反射光谱进行分析,可以确定物体反射出来的颜色。

相机利用这一原理,通过感知环境中不同光源下红绿蓝三种基本颜色成分比例的变化情况,来调整相机感光元件对这三种基本颜色接受比例。

2. 灰度均衡原理灰度均衡是指将图像中各个灰度值所占比例调整到合适的范围内,使得图像显示更加清晰明亮。

而白平衡就是一种特殊形式的灰度均衡,在保证各个灰度值所占比例的同时,还需要保证白色物体呈现出真实的白色。

3. 人眼感知原理人眼对颜色的感知具有一定的主观性,不同人对同一颜色的感受可能存在差异。

因此,相机在进行白平衡调整时,通常会参考人眼对颜色的感知结果,来确定最终的调整结果。

三、白平衡调整方法1. 自动白平衡自动白平衡是指相机自动识别环境中光源类型,并进行相应的白平衡调整。

这种方式适用于拍摄环境变化频繁或者不确定光源类型的情况。

2. 预设白平衡预设白平衡是指在拍摄前根据实际情况选择相应的预设模式进行设置。

这种方式适用于拍摄环境比较稳定或者已知光源类型的情况。

3. 手动调节手动调节是指通过手动设置相机参数来进行白平衡调整。

这种方式适用于拍摄环境复杂或者需要特殊效果时使用。

四、总结通过对白平衡原理和调整方法的了解,我们可以更好地掌握如何利用相机进行白平衡调整,从而达到更好的拍摄效果。

同时,白平衡调整也是摄影技术中非常重要的一环,掌握好白平衡调整方法可以提升我们的拍摄水平。

自动白平衡算法

自动白平衡算法

自动白平衡算法自动白平衡是数码相机中一种重要的图像处理技术,通过调整图像的色温来使得图像在不同的光照条件下呈现出真实、自然的颜色。

本文将从算法原理、应用领域和调优技巧三个方面来介绍自动白平衡算法。

一、算法原理自动白平衡算法基于摄像机的感光元件输出的图像数据,通过分析图像中的白色参考物体,计算出当前场景下的光源色温,然后调整图像的色彩来达到真实的色彩再现。

常用的自动白平衡算法有灰度世界算法、白色点算法和直方图拉伸算法。

灰度世界算法假设整个图像的色彩分布是均匀的,通过计算图像中所有像素点的RGB分量的平均值,然后将该平均值作为缩放系数应用于各个通道,从而达到白平衡的目的。

白色点算法则通过选取图像中灰度值最大的像素点作为参考点,根据参考点的三个通道值,并通过一定的数学计算,将其调整至一个预设的白色参考值,进而实现图像的白平衡。

直方图拉伸算法则是通过对图像的直方图进行拉伸,使得图像的灰度值分布更加均匀,从而达到白平衡的效果。

二、应用领域自动白平衡算法在众多领域中都有广泛的应用。

在摄影领域,自动白平衡可以使摄影师在不同光照条件下更加方便地拍摄出真实的颜色。

在监控领域,自动白平衡可以提高监控摄像头的图像质量,使得监控系统更加准确地监测场景。

在医学领域,自动白平衡算法可以改善医学图像的质量,从而提高医生的诊断准确性。

三、调优技巧在实际应用中,为了获得更好的自动白平衡效果,可以采用以下一些调优技巧。

首先,可以使用较高的色温作为预设值,以保留更多的暖色调,使得图像更加真实。

其次,可以通过人工干预来修正算法产生的不准确结果,比如提供一张纯白色参考图像来校正算法误差。

此外,还可以根据不同场景下的具体要求,通过调整算法参数来达到更好的白平衡效果。

总结起来,自动白平衡算法是数码相机中一项重要的图像处理技术。

它通过分析图像中的白色参考物体,计算出光源色温,并调整图像色彩,以实现真实、自然的颜色再现。

应用领域广泛,包括摄影、监控和医学等领域。

白平衡算法总结

白平衡算法总结
i ,j (
Cb(i, j) − Mb ) N Cr(i, j) − Mr ) N
Dr =
i ,j (
为了提高算法的稳健性,将图片分为几个区域并且计算每个区域 的 Mb、Mr、Db、Dr,如果一个区域的 Db,Dr 太小,那么这个区域 就没有足够的色彩变化,就可以丢弃掉了。这样可以避免大面积的统 一色调对结果的影响。
8
%计算 Cb、Cr 的均值 Mb、Mr% Mb=sum(sum(Cb)); Mr=sum(sum(Cr)); Mb=Mb/(x*y); Mr=Mr/(x*y); %计算 Cb、Cr 的均方差% Db=sum(sum(Cb-Mb))/(x*y); Dr=sum(sum(Cr-Mr))/(x*y); %根据阀值的要求提取出 near-white 区域的像素点% cnt=1; for i=1:x for j=1:y b1=Cb(i,j)-(Mb+Db*sign(Mb)); b2=Cr(i,j)-(1.5*Mr+Dr*sign(Mr)); if (b1<abs(1.5*Db) & b2<abs(1.5*Dr)) Ciny(cnt)=Lu(i,j); tst(i,j)=Lu(i,j); cnt=cnt+1; end end end cnt=cnt-1;
9
iy=sort(Ciny,'descend');%将提取出的像素点从亮度值大的点到小 的点依次排列% nn=round(cnt/10); Ciny2(1:nn)=iy(1:nn);%提取出 near-white 区域中 10%的亮度值较 大的像素点做参考白点% %提取出参考白点的 RGB 三信道的值% mn=min(Ciny2); c=0; for i=1:x for j=1:y if tst(i,j)<mn tst(i,j)=0; else tst(i,j)=1; c=c+1; end end end R=im(:,:,1); G=im(:,:,2); B=im(:,:,3); R=double(R).*tst;

白平衡

白平衡

一、原始的灰色世界算法要计算未知光源的特性必须从图片中提取相关的统计特性。

当我们能够仅使用一个统计特性就获得未知光源特性时,算法就变得非常简单了。

在这种情况下,未知光源必须在整幅图片上都是统一的。

均值于是就成为了此类方法之下最好的统计指标。

而灰色世界法正是利用了均值作为估算未知光源的关键统计量。

从物理意义上说,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为“灰色”。

在给定图片的白平衡算法中,灰色世界假设图片中的反射面足够丰富,以至于可以作为自然界景物的一个缩影。

若这幅图片是在经典光源下拍摄的,其均值就应该等于灰色。

若这幅图是在非经典光源下拍摄的,那么均值就会大于或者小于灰色值。

而该均值对于灰色的偏离程度则反映了未知光源相对于已知光源的特性。

(就是因为这个假设,实际上灰度世界对图片色彩不丰富的情况,效果不是很好)虽然这个方法比较简单,但是仍然可以从一些方面进行调整。

一个方面就是对于灰色的定义形式的选择。

包括对于光谱的定义、对于光谱成分的定义和在经典光源之下的 RGB 的响应。

另一个更加重要的调整方面就是对于灰色的选择。

不管如何定义灰色,最佳的灰色之选必然是自然界实事上出现的灰色。

但是这个值是无法获得的(除非是合成数据),所以对于灰色的选择是不同的灰色世界算法的一个重要的区别点。

一个方法是假设这个灰色就是实事上的灰色。

也就是说反射光谱是均衡的。

给定光源之下的 RGB响应是纯白色对此光源的响应值的一部分。

比方说,可以使用50%作为反射率(虽然这个灰色值对于人眼视觉习惯而言可能过于明亮)。

另一种方法,就是根据大量的数据提炼出一个均值,并把它定义为灰色。

这种方法提炼的灰色值可能因为数据库使用的不同而有所不同。

最终提炼的灰色也能仅适用于原始的数据库,而对于数据库未包括的图片的适用度就会比较差一些。

确定下来的灰色表达形式可以用来表示。

下标 i 表示信道,上标 c为canonical的首字母,表示经典光源。

白平衡的原理及应用

白平衡的原理及应用

白平衡的原理及应用一、白平衡的原理白平衡是一种摄影术语,用于调整照片中的颜色温度,使其看起来更加真实、自然。

它是通过重新分配白色点的色温来实现的,以确保白色在照片中看起来确实是白色。

白平衡通常在拍摄前或后进行设置,以保证图像的色彩准确。

1. 色温色温是用来衡量光源颜色的一个指标,单位是开尔文(K)。

较低的色温(约2500K至4000K)会使图像呈现暖色调,较高的色温(约5500K至6500K)则会呈现冷色调。

相机的白平衡设置是根据色温来进行调整的。

2. 白平衡设置在相机中,通常有几个预设的白平衡模式供选择,如自动白平衡、日光、荧光灯等。

自动白平衡是最常用的模式,相机会尝试根据场景的光照条件自动调整白平衡。

然而,自动白平衡不总是准确的,特别是在复杂的照明条件下。

二、白平衡的应用白平衡的应用广泛存在于摄影和摄像领域。

在以下场景中,白平衡的正确设置可以带来更好的图像结果:1. 室内拍摄在室内拍摄中,不同类型的光源可能会导致图像色彩失真。

例如,使用荧光灯照明的场景可能会使照片出现绿色偏色。

通过选择相机的白平衡模式,可以正确调整光源的颜色温度,使图像呈现自然色彩。

2. 夜间拍摄夜间拍摄时,常常会遇到多种不同颜色的光源,如路灯、车灯等。

使用正确的白平衡设置可以让夜景照片更加真实,避免色彩失真。

3. 回忆录影像制作在制作回忆录影像时,白平衡的准确设置尤为重要。

通过选择适当的白平衡模式,可以让我们回忆起的场景的色彩更加真实、细腻。

4. 自然风光摄影在自然风光摄影中,白平衡的设置可以改善照片的色彩,使得大自然的美景能够以最真实的形式呈现。

例如,沙滩上的海水呈现出正确的蓝色、雪山上的雪花呈现出纯净的白色。

5. 人像摄影在人像摄影中,白平衡的准确设置可以确保皮肤色彩看起来自然,避免出现偏色。

相机的自动白平衡模式通常可以很好地处理人像拍摄,但在特殊场景下,手动调整白平衡可能是必要的。

三、总结白平衡是一项重要的摄影技术,在不同的场景中,正确的白平衡设置可以带来更真实、自然的图像效果。

白平衡偏移 数学原理

白平衡偏移 数学原理

白平衡偏移的数学原理白平衡偏移,又称白平衡调整或白平衡修正,是摄影和摄像技术中的一个重要概念。

它的主要目的是纠正因光源色温不同而导致的图像色彩偏差,使得白色物体无论在何种光照条件下,都能在图像中呈现出真正的白色。

通过调整红绿蓝三原色的输出比例,摄影师能够控制图像的色温,从而改变图像的整体色调。

一、概念与定义白平衡偏移的基本概念是在白平衡调整的基础上,通过增加或减少红色和蓝色通道的输出,使图像色彩更加准确或产生特定的色彩效果。

在白平衡偏移中,通常会有一个基准点,这个点代表了正确的白平衡,也就是所谓的“中性点”。

摄影师可以通过调整偏移量,使图像的色彩偏向红色或蓝色,从而达到调整图像色调的目的。

在数字摄影中,白平衡偏移通常是通过相机或后期处理软件中的白平衡设置来实现的。

这些设置允许摄影师选择预设的白平衡值,或者手动调整红绿蓝三原色的输出比例。

二、性质与特点灵活性:白平衡偏移允许摄影师根据需要进行微调,以获得最佳的色彩效果。

与自动白平衡功能相比,白平衡偏移提供了更大的灵活性和控制力。

创意性:通过调整白平衡偏移,摄影师可以创造出特定的色彩氛围,如暖色调或冷色调,以强调或改变图像的情感表达。

准确性:在某些特殊光照条件下,自动白平衡可能无法准确还原白色物体的真实色彩。

此时,使用白平衡偏移可以手动调整色温,以获得更准确的色彩表现。

三、数学原理白平衡偏移的数学原理主要涉及颜色空间和色温的概念。

在数字图像处理中,颜色通常由红绿蓝(RGB)三个通道来表示。

每个通道的值决定了该颜色的强度和色调。

色温则是一个描述光源颜色的物理量,通常用开尔文(K)来表示。

颜色空间:在RGB颜色空间中,每个颜色都可以通过红绿蓝三个通道的值来唯一确定。

通过调整这三个通道的值,可以改变颜色的色调和强度。

白平衡偏移实际上就是在这个颜色空间中对颜色进行调整。

色温与白平衡:色温与白平衡密切相关。

不同色温的光源会产生不同的颜色偏差。

例如,暖色调的光源(如夕阳)通常具有较低的色温(约3000K),而冷色调的光源(如蓝天)则具有较高的色温(约10000K)。

yuv 白平衡 算法

yuv 白平衡 算法

yuv 白平衡算法
YUV是一种颜色编码系统,常用于数字视频和图像处理。

在YUV
编码中,Y代表亮度(Luminance),U和V代表色度(Chrominance)。

白平衡算法是用来调整图像的色温,以使白色看
起来真实且中性。

YUV白平衡算法通常涉及以下几种方法:
1. 灰世界假设(Gray World Assumption),该算法假设整个
图像的平均颜色应该是灰色,因此通过调整RGB通道的增益来实现
白平衡。

在YUV颜色空间中,可以通过调整U和V通道的增益来实现。

2. 白色点假设(White Point Assumption),该算法假设图像中存在一个已知的白色点,通过测量该点的颜色来进行白平衡调整。

这种方法通常需要用户提供白色参考点,然后根据该点进行色彩校正。

3. 直方图均衡化(Histogram Equalization),该算法通过对图像的颜色直方图进行调整,使得各个颜色通道的分布更加均匀,
从而实现白平衡效果。

4. 灰度世界假设(Grey World Assumption),该算法假设整个图像的平均颜色应该是灰色,但与灰世界假设不同的是,该算法还考虑了不同颜色通道的亮度不一致性,因此可以更好地实现白平衡效果。

总的来说,YUV白平衡算法是通过调整色度通道的增益来实现白平衡,常用的方法包括灰世界假设、白色点假设、直方图均衡化和灰度世界假设。

这些算法可以根据实际需求和图像特性进行选择和调整,以达到理想的白平衡效果。

自动白平衡方法

自动白平衡方法

自动白平衡方法
自动白平衡是一种图像处理的技术,用于自动调整图像中的白色色彩,以确保图像中白色物体的颜色看起来真实和准确。

目前常用的自动白平衡方法包括以下几种:
1. 灰度世界法(Gray World Algorithm):假设整个图像中的
灰色像素的平均值应该是中性灰色,根据这个假设调整图像的颜色。

通过计算图像中红、绿、蓝三个通道的平均值,将这个平均值视为中性灰色,然后根据这个中性灰色对图像的颜色进行调整。

2. 最大值法(Max-RGB Algorithm):假设在一张图像中,红、绿、蓝三个通道中,最大值所对应的像素应该是白色,根据这个假设调整图像的颜色。

通过找到图像中红、绿、蓝三个通道中的最大值,并将这个最大值设为白色的亮度值,然后根据这个亮度值对图像的颜色进行调整。

3. 白色补偿法(White Patch Algorithm):假设图像中存在一
个物体是白色的,通过使用这个白色物体来调整整个图像的颜色。

通过在图像中寻找最亮的像素点,并将该像素点的颜色设为白色,然后根据这个白色值对图像的颜色进行调整。

4. 边缘法(Edge-Based Algorithm):通过检测图像中边缘的
梯度信息来调整图像的颜色。

根据边缘的灰度变化情况来判断图像中的颜色偏差,然后根据颜色偏差对图像进行补偿。

以上只是几种常见的自动白平衡方法,实际应用中可以根据具体情况选择合适的方法或者结合多种方法进行处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

灰色世界法(grey world method)要计算未知光源的特性必须从图片中提取相关的统计特性。

当我们能够仅使用一个统计特性就获得未知光源特性时,算法就变得非常简单了。

在这种情况下,未知光源必须在整幅图片上都是统一的。

均值于是就成为了此类方法之下最好的统计指标。

而灰色世界法正是利用了均值作为估算未知光源的关键统计量。

从物理意义上说,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为“灰色”。

在给定图片的白平衡算法中,灰色世界假设图片中的反射面足够丰富,以至于可以作为自然界景物的一个缩影。

若这幅图片是在经典光源下拍摄的,其均值就应该等于灰色。

若这幅图是在非经典光源下拍摄的,那么均值就会大于或者小于灰色值。

而该均值对于灰色的偏离程度则反映了未知光源相对于已知光源的特性。

虽然这个方法比较简单,但是仍然可以从一些方面进行调整。

一个方面就是对于灰色的定义形式的选择。

包括对于光谱的定义、对于光谱成分的定义和在经典光源之下的RGB的响应。

另一个更加重要的调整方面就是对于灰色的选择。

不管如何定义灰色,最佳的灰色之选必然是自然界实事上出现的灰色。

但是这个值是无法获得的(除非是合成数据),所以对于灰色的选择是不同的灰色世界算法的一个重要的区别点。

一个方法是假设这个灰色就是实事上的灰色。

也就是说反射光谱是均衡的。

给定光源之下的RGB响应是纯白色对此光源的响应值的一部分。

比方说,可以使用50%作为反射率(虽然这个灰色值对于人眼视觉习惯而言可能过于明亮)。

另一种方法,就是根据大量的数据提炼出一个均值,并把它定义为灰色。

这种方法提炼的灰色值可能因为数据库使用的不同而有所不同。

最终提炼的灰色也能仅适用于原始的数据库,而对于数据库未包括的图片的适用度就会比较差一些。

确定下来的灰色表达形式可以用来表示。

下标i表示信道,上标c为canonical的首字母,表示经典光源。

在确定灰色的表达形式后只要用RGB响应与经典光源下灰色的比值来归一化图片就可以了。

假设RGB响应均值为,下标i表示信道,上标U为Unknown的首字母,表示未知光源。

那么归一化率的计算式为如下式所示:根据光源转换理论,从未知光源到经典光源下图片表达式的转换式如下式所定义:那么,灰色世界法的计算过程如下图所示:本实验选择的灰色值为(129,129,129),具体的matlab实现程序如下:%灰色世界法%clear all;%清屏%img=imread('b1.bmp');%读取位图的rgb值并存在名为img的三维矩阵中%AveR=mean(mean(img(:,:,1)));%计算R通道的均值%AveG=mean(mean(img(:,:,2)));%计算G通道的均值%AveB=mean(mean(img(:,:,3)));%计算B通道的均值%Qr=129/AveR;%计算R通道的归一化率Qr%Qg=129/AveG;%计算G通道的归一化率Qg%Qb=129/AveB;%计算B通道的归一化率Qb%%光源变换%img0(:,:,1)=Qr*img(:,:,1);img0(:,:,2)=Qg*img(:,:,2);img0(:,:,3)=Qb*img(:,:,3);figure,imshow(img0),title('变换后图片');%显示图片%偏蓝图片白平衡调整后的图片正常光照下的图片基于动态阀值的自动白平衡法(Automatic White Balance Method)这个算法是通过对图片的ycbcr色空间的分析来确定参考白点的,所以次算法可以说是自适应白平衡算法。

本算法选择参考白点的阀值是动态变化的,所以对于不同的图片,其阀值也不同。

通过对图片的cbcr坐标空间的分析,我们可以看到一个接近白色的区域(near-white region)是包含着参考白点的。

通过这个思路,我们可以通过对图片分区,然后找出参考白点,然后在通过von kvies model来调整图片时期实现白平衡。

这样,这个算法就包括了两个步骤了:寻找参考白点,白点调整。

寻找参考白点:为了确定一个接近白色的区域,我们就必须把RGB色空间转换成YCbCr色空间。

色空间转换后,就是计算Cb、Cr的均值Mb、Mr;然后通过下式计算Cb、Cr的均方差Db、Dr:为了提高算法的稳健性,将图片分为几个区域并且计算每个区域的Mb、Mr、Db、Dr,如果一个区域的Db,Dr太小,那么这个区域就没有足够的色彩变化,就可以丢弃掉了。

这样可以避免大面积的统一色调对结果的影响。

接下来就可以通过下面的关系式得到接近白色区域的所有像素点了:根据亮度值,我们选择接近白色区域中的10%的候选参考白点最为参考白点。

在白点确定后,就可以从参考白点中得到信道增益的值了。

为了维持整幅图片的亮度不变,亮度的最大值被用来得到信道增益。

所以信道增益不及和参考白点有关还与亮度的最大值有关,其表达式如下:其中是整幅图片像素的亮度最大值,、和是参考白点的RGB信道的均值。

最后,根据von-kvies model来调整图片,使其达到白平衡的效果。

调整的表达式如下:其中RGB是图片的像素点的三个信道值,是调整之后的图片的像素点的三个信道值。

其源程序如下:%Program for white balancing%function W=wbalance(im)clear all;close all;%读取照片的信息%[filename,pathname]=uigetfile('*.jpg;*.bmp;*.gif','Pick an image-file');if isequal(filename,0)disp('User selected Cancel');elsedisp(['User selected',fullfile(pathname,filename)]);endfname=strcat(pathname,filename);im=imread(fname);im2=im;im1=rgb2ycbcr(im);%将图片的RGB值转换成YCbCr值% Lu=im1(:,:,1);Cb=im1(:,:,2);Cr=im1(:,:,3);[x y z]=size(im);tst=zeros(x,y);%计算Cb、Cr的均值Mb、Mr%Mb=sum(sum(Cb));Mr=sum(sum(Cr));Mb=Mb/(x*y);Mr=Mr/(x*y);%计算Cb、Cr的均方差%Db=sum(sum(Cb-Mb))/(x*y);Dr=sum(sum(Cr-Mr))/(x*y);%根据阀值的要求提取出near-white区域的像素点%cnt=1;for i=1:xfor j=1:yb1=Cb(i,j)-(Mb+Db*sign(Mb));b2=Cr(i,j)-(1.5*Mr+Dr*sign(Mr));if(b1<abs(1.5*Db)&b2<abs(1.5*Dr))Ciny(cnt)=Lu(i,j);tst(i,j)=Lu(i,j);cnt=cnt+1;endendendcnt=cnt-1;iy=sort(Ciny,'descend');%将提取出的像素点从亮度值大的点到小的点依次排列%nn=round(cnt/10);Ciny2(1:nn)=iy(1:nn);%提取出near-white区域中10%的亮度值较大的像素点做参考白点%%提取出参考白点的RGB三信道的值%mn=min(Ciny2);c=0;for i=1:xfor j=1:yif tst(i,j)<mntst(i,j)=0;elsetst(i,j)=1;c=c+1;endendendR=im(:,:,1);G=im(:,:,2);B=im(:,:,3);R=double(R).*tst;G=double(G).*tst;B=double(B).*tst;%计算参考白点的RGB的均值%Rav=mean(mean(R));Gav=mean(mean(G));Bav=mean(mean(B));Ymax=double(max(max(Lu)))/15;%计算出图片的亮度的最大值% %计算出RGB三信道的增益%Rgain=Ymax/Rav;Ggain=Ymax/Gav;Bgain=Ymax/Bav;%通过增益调整图片的RGB三信道%im(:,:,1)=im(:,:,1)*Rgain;im(:,:,2)=im(:,:,2)*Ggain;im(:,:,3)=im(:,:,3)*Bgain;%显示图片%W=im;figure,imshow(im2,[]),title('原图');figure,imshow(im,[]),title('白平衡后的效果图');黄偏色图片正常光照下的图片次算法的缺点是运行速度慢,但是对图片的还原效果还是比较显著的。

其他白平衡算法镜面法(Perfect Reflector Model)根据图像形成理论,对于纯白色的反射面而言,无论光源是什么颜色,最终反射后的颜色总能完全表现出光源的颜色。

如果景物中有纯白的部分,那么就可以直接从这些像素中提取出光源信息。

基于这种思想的方法都被称为是镜面法。

与灰色世界法类似的,镜面法也有多种调整方式。

在本文中着重介绍两种。

第一种方法较为基本也较为简便。

这种方法假设图片中一定有纯白色面存在,那么在经典光源下,图片中所有像素点三个信道的最大值都应该等于255,或者是一个给定的纯白色的值。

在任何其他的光源下,图片纯白色点的像素值就会小于经典光源下的纯白色,并且这些点将代表整幅图片中最亮的点。

那么只要将各信道的值按比例规一化到最大值(纯白色)就可以获得在经典光源下的图片了。

假设经典的白色表达形式可以用来表示。

下标i表示信道,上标c表示经典光源。

假设RGB响应的最值为,下标i表示信道,上标U表示未知光源。

那么归一化率的计算式为如下式所示:根据光源转换理论,从未知光源到经典光源下图片表达式的转换同样可以用下式定义:其计算过程如下:当选择(255,255,255)为白色值的时候只需把每个信道的像素值拉伸到最大值即可。

这种镜面法最为简单,在有效性方面的表现也不错。

第二镜面法算法在第一步的基础上改进了对于白色点的定义。

它不是将白色定义为各信道值最大的点。

而是将满足某个条件的点都定义为白色点,通过计算这些点的平均色温,得到对于未知光源的估计值。

这类算法首先将对于白色的定义形式转换到了YCbCr空间:在YCbCr空间中,Y是灰度,表示图像的亮度,Cb和Cr是色度的蓝色和红色分量,代表图像的色差。

相关文档
最新文档