白平衡处理装置
技术领域
本发明涉及一种白平衡处理装置,尤其涉及一种可处理数码格式图像的白平衡处理装置。
背景技术
白平衡是图像处理的一种常用技术。众所周知,不同光源(如日光,荧光灯,白炽灯等)里各种色彩分量的比例并不一样。假如用这些光源照射同一张白纸,则白纸反射的光线中,各种色彩的分量也不一样。例如,使用白炽灯照射时,反射光线中黄色的成分将偏多;使用荧光灯时,蓝色的成分将偏多。如果用照相机拍摄此时的白纸,得到的图像也将偏黄或偏蓝,为此,需要根据光源的特性,将图像中各色彩分量的比例进行调整。这种调整即是白平衡处理。而光源中各色彩分量的比例,通常用色温值来表征。色温值越低,光源越偏红色;色温值越高,光源越偏蓝色。
目前已有的白平衡的处理方法有很多种,其原理大多是估计待处理的原始图像(以下简称为原始图像)拍摄时光源的色温,然后根据该色温光源的偏色情况将图像的不同色彩分量乘以相应的系数,来进行平衡。这些方法只考虑了图像自身的特性,而没有考虑到人眼在观看图像时的特点:对于图像的彩色部分,少量的色彩偏差并不容易被人所察觉;而对于图像的白色部分(如白云,雪花等),一旦出现色彩偏差,人将会很容易的感受到。实践中,原始图像的色温很难估计准确,如果用该色温直接进行白平衡处理,往往会使图像中白色部分产生偏色,使图像看起来不真实。一些处理技术使用区域细分、亮度细分等方法来避免这一情况的发生,但其处理过程往往失于繁琐。
另一方面,早期的白平衡技术出现于数字信号处理技术并不发达的时代,且主要针对于摄像机等视频处理流程进行优化。时至今日,数字信号处理技术飞速发展,数码格式的图像成为主流。更容易采用软件或硬件电路实现,更容易处理数码格式的图像,成为白平衡算法新的要求。
发明内容
本发明所要解决的技术问题是提供一种白平衡处理装置,经处理后的图像既可保证原始图像中白色部分不偏色,又可保留原始图像中白色的亮度信息,而且便于使用软件或硬件电路实现。
为解决上述技术问题,本发明提供一种白平衡处理装置,包括:
预处理模块(11),用于将原始图像转换成RGB格式图像,并估计出所述原始图像的色温;
白平衡处理模块(12),用于区分所述RGB格式图像中的像素点为白色像素点还是为非白色像素点,然后对所述白色像素点和非白色像素点分别进行相应的白平衡处理;
后处理模块(13),用于剔除经所述白平衡处理模块(12)处理后的图像中产生的噪声点。
本发明由于采用了上述技术方案,具有这样的有益效果,通过对需进行白平衡处理的原始图像中的白色像素点和非白色像素点分别进行不同方式的白平衡处理,保证了原始图像中白色部分不偏色,又保留了原始图像中白色的亮度信息;同时由于本发明所述白平衡处理装置中所使用的运算多为加法和乘法运算,因此非常便于使用软件或硬件电路来实现;而且本发明所述白平衡处理装置是针对图像中的每个像素分别进行白平衡处理的,各像素之间不存在数据关联,因而可通过并行运算来实现,由此加快了对图像进行白平衡处理的速度,提高了白平衡处理的效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1为本发明所述白平衡处理装置的结构框图;
图2为本发明所述白平衡处理装置中预处理模块的结构框图;
图3为本发明所述白平衡处理装置中白平衡处理模块的结构框图;
图4为所述白平衡处理模块中区域阶梯处理单元的结构框图;
图5为所述白平衡处理模块中像素白平衡处理单元的结构框图。
具体实施方式
如图1所示为本发明所述白平衡处理装置的结构框图,主要包括预处理模块11、白平衡处理模块12、后处理模块13。其中,所述预处理模块11主要用于:一根据原始图像的亮度、色度信息估计出其对应色温,以备后续白平衡处理时使用;二将原始图像转换成统一的RGB格式图像,以方便处理。所述白平衡处理模块12用于区分所述RGB格式图像中的像素点为白色像素点还是为非白色像素点,然后对所述白色像素点和非白色像素点分别进行相应的白平衡处理。所述后处理模块13主要用于检查经所述白平衡处理模块12处理后的图像是否出现了噪声点,并对所述噪声点进行平滑处理。
如图2所示为本发明所述预处理模块11的结构框图,包括文件读取转换单元21、亮度分析单元22、色度分析单元23和色温判断单元24。其中,所述文件读取转换单元21用于读入原始图像文件,并将其转化为统一的RGB格式图像:即,分别用8比特量化的R(Red)、G(Green)、B(Blue)分量来表示原始图像的每个像素点;所述亮度分析单元22用于分析原始图像的亮度特性,而所述色度分析单元23则用于分析原始图像的色度特性,然后由所述色温判断单元24将所述亮度分析单元22和所述色度分析单元23的分析结果与参考基色系数相比较,计算出原始图像的色温偏差,得到原始图像的正确色温,并输出该色温下的红色基色系数rRG和蓝色基色系数rBG。其中,在本发明中所述参考基色系数是在不同色温下测量到的一组基色系数,具体如表1所示。因此,所述预处理模块11的输出为原始图像所对应的rRG、rBG及RGB格式表示的原始图像。
表1
如图3所示为本发明所述白平衡处理模块12的结构框图,包括像素特性判断单元31、区域阶梯处理单元32和像素白平衡单元33。预处理之后的原始图像被逐点送入所述像素特性判定单元31,以确定每个像素点为白色像素点还是为非白色像素点。根据判定结果,像素被分别送入区域阶梯处理单元32和像素白平衡处理单元33进行白平衡处理。
所述像素特性判定单元31用于判断原始图像的各个像素点为白色像素点还是非白色像素点。在一个实施例中,其具体判定方法为:预先设定一特定门限A(0<A<255),若当前像素点的三个R、G、B分量值(以下简称为Pr,Pg,Pb)分别满足:Pr>A、Pg>A和Pb>A,则认为该像素点为白色像素点。根据实验,A取值为220左右时可以取得较好的处理效果,但本发明本身并不限定A的具体取值。
所述区域阶梯处理单元32用于校正白色像素点的色度偏差。如图4所示,在本发明中所述区域阶梯处理单元32所采用的校正算法为:
Ir=(Pr+Pg+Pb)/3
Ig=(Pr+Pg+Pb)/3
Ib=(Pr+Pg+Pb)/3
其中,Pr、Pg、Pb分别表示校正前一白色像素点的R、G、B分量,Ir、Ig、Ib分别表示校正后该像素点的R、G、B分量。
所述像素白平衡处理单元33用于校正非白像素点的色度偏差。如图5所示,在本发明中所述像素白平衡处理单元33所采用的校正算法为:
Ir=Pr*rRG
Ig=Pg
Ib=Pb*rBG
其中,Pr、Pg、Pb分别表示校正前某非白像素的R、G、B分量,Ir、Ig、Ib分别表示校正后该像素的R、G、B分量。
后处理模块13主要用于剔除经所述白平衡处理模块12处理后的图像中可能产生的噪声点。在白平衡处理模块12中,非白像素和白色像素经过了不同的处理,可能会使这两类像素间的差别拉大。如果存在某白色像素,其周围的像素均为非白,该像素将可能成为十分显眼的“噪声点”,反之亦然。为此,在一个实施例中,本发明所述后处理模块13通过如下方法来剔除经所述白平衡处理模块12处理后的图像中产生的噪声点,具体步骤如下:(1)对每个像素点,分别读取与其相邻的8个像素点(上、下、左、右、左上、右上、左下、右下);(2)若该像素点为白色像素点,而且其周围的像素点均为非白色像素点,或者该像素点为非白色像素点,而且其周围的像素点均为白色像素点,则判定该像素点为噪声点;(3)对噪声点像素进行平滑处理。对所述噪声点进行平滑处理的具体步骤为:分别读取与所述噪声点相邻的8个像素点的R分量值,求和后平均以作为所述噪声点的R分量值;读取与所述噪声点相邻的8个像素点的G分量值,求和后平均以作为所述噪声点的G分量值;读取与所述噪声点相邻的8个像素点的B分量值,求和后平均以作为所述噪声点的B分量值。
综上所述,通过本发明所述白平衡处理装置对图像进行白平衡处理实现起来较为简洁,而且所使用的运算多为加法和乘法运算,因此无论使用软件实现还是硬件电路实现,运算复杂度都很低。而且在本发明中进行白平衡处理的主要模块,即白平衡处理模块中,是针对每个像素进行处理的,各像素之间不存在数据关联,因而可通过并行运算来实现,由此可加快对图像进行白平衡处理的速度。