什么是白平衡如何调节白平衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是白平衡如何调节白平衡相关的知识,希望对你有一定的参考价值。

白平衡,字面上的理解是白色的平衡。白平衡是描述显示器中红、绿、蓝三基色混合生成后白色精确度的一项指标。白平衡是电视摄像领域一个非常重要的概念,通过它可以解决色彩还原和色调处理的一系列问题。白平衡是随着电子影像再现色彩真实而产生的,在专业摄像领域白平衡应用的较早,现在家用电子产品(家用摄像机、数码照相机)中也广泛地使用,然而技术的发展使得白平衡调整变得越来越简单容易,但许多使用者还不甚了解白平衡的工作原理,理解上存在诸多误区。它是实现摄像机图像能精确反映被摄物的色彩状况,有手动白平衡和自动白平衡等方式。许多人在使用数码摄像机拍摄的时候都会遇到这样的问题:在日光灯的房间里拍摄的影像会显得发绿,在室内钨丝灯光下拍摄出来的景物就会偏黄,而在日光阴影处拍摄到的照片则莫名其妙地偏蓝,其原因就在于白平衡的设置上。
调节白平衡的方式:
自动白平衡
自动白平衡通常为数码相机的默认设置,相机中有一结构复杂的矩形图,它可决定画面中的白平衡基准点,以此来达到白平衡调校。这种自动白平衡的准确率是非常高的,但是在光线下拍摄时,效果较差,而在多云天气下,许多自动白平衡系统的效果极差,它可能会导致偏蓝。
钨光白平衡
钨光白平衡也称为“白炽光”或者“室内光”。设置一般用于由灯泡照明的环境中(如家中)当相机的白平衡系统知道将不用闪光灯在这种环境中拍摄时,它就会开始决定白平衡的位置,不使用闪光灯在室内拍照时,一定要使用这个设置。
荧光白平衡
适合在荧光灯下作白平衡调节,因为荧光的类型有很多种,如冷白和暖白,因而有些相机不只一种荧光白平衡调节。各个地方使用的荧光灯不同,因而“荧光”设置也不一样,摄影师必须确定照明是哪种“荧光”,使相机进行效果最佳的白平衡设置。在所有的设置当中,“荧光”设置是最难决定的,例如有一些办公室和学校里使用多种荧光类型的组合,这里的“荧光”设置就非常难以处理了,最好的办法就是“试拍”了。
显微摄影
在显微镜下,当不同色温的光源照射在样品上时,CCD会呈现不同的颜色。这是因为在不同的光线下,由于CCD彩色信号输出的不平衡性,造成CCD彩色还原失真。作为显微摄像头的默认设置,自动白平衡通过一张结构复杂的矩形图,来决定画面中的白平衡基准点,以此来达到白平衡调校。但作为某些特殊情况,还需要通过手动白平衡,区域白平衡的方法来防止偏色,主要的方法是把显微镜的物镜移动到载玻片的样品以外的区域。
室内白平衡
室内白平衡或称为多云、阴天白平衡,适合把昏暗处的光线调置原色状态。并不是所有的数码相机都有这种白平衡设置,一般来说,白平衡系统在室外情况时处于最优状态,无需这些设置。但有些制造商在相机上添加了这些特别的白平衡设置,这些白平衡的使用依相机的不同而不同。
手动调节
这种白平衡在不同地方有各不相同的名称,它们描述的是某些普通灯光情况下的白平衡设置。一般来说,用户需要给相机指出白平衡的基准点,即在画面中哪一个“白色”物体作为白点。
参考技术A 物体颜色会因投射光线颜色产生改变,在不同光线的场合下拍摄出的照片会有不同的色温。例如以钨丝灯(电灯泡)照明的环境拍出的照片可能偏黄,一般来说,CCD没有办法像人眼一样会自动修正光线的改变。下面一些图片,就显示了在不同颜色光线下的不同图象。 第一幅图片采用自然光,强加白平衡后,图像偏蓝。若在灯光底下用白平衡,图片的色调就会恢复到原色状态,白平衡会按目前画像中图像特质,立即调整整个图像红绿蓝三色的强度,以修正外部光线所造成的误差。有些相机除了设计自动白平衡或特定色温白平衡功能外,也提供手动白平衡调整。 平衡就是无论环境光线如何,让数码相机默认“白色”,就是让他能认出白色,而平衡其他颜色在有色光线下的色调。颜色实质上就是对光线的解释,在正常光线下看起来是白颜色的东西在较暗的光线下看起来可能就不是白色,还有荧光灯下的"白"也是"非白"。对于这一切如果能调整白平衡,则在所得到的照片中就能正确地以"白"为基色来还原其他颜色。现在大多数的商用级数码相机均提供白平衡调节功能。正如前面提到的白平衡与周围光线密切相关,因而,启动白平衡功能时闪光灯的使用就要受到限制,否则环境光的变化会使得白平衡失效或干扰正常的白平衡。一般白平衡有多种模式,适应不同的场景拍摄,如:自动白平衡、钨光白平衡、荧光白平衡、室内白平衡、手动调节。本回答被提问者采纳 参考技术B 回答

白色的平衡1、白平衡,字面上的理解是白色的平衡。白平衡是描述显示器中红、绿、蓝三基色混合生成后白色精确度的一项指标。白平衡是电视摄像领域一个非常重要的概念,通过它可以解决色彩还原和色调处理的一系列问题。2、白平衡是随着电子影像再现色彩真实而产生的,在专业摄像领域白平衡应用的较早。家用电子产品(家用摄像机、数码照相机)中也广泛地使用,然而技术的发展使得白平衡调整变得越来越简单容易,但许多使用者还不甚了解白平衡的工作原理,理解上存在诸多误区。它是实现摄像机图像能精确反映被摄物的色彩状况,有手动白平衡和自动白平衡等方式。3、许多人在使用数码摄像机拍摄的时候都会遇到这样的问题,在日光灯的房间里拍摄的影像会显得发绿,在室内钨丝灯光下拍摄出来的景物就会偏黄,而在日光阴影处拍摄到的照片则莫名其妙地偏蓝,其原因就在于白平衡的设置上。

OpenCV-白平衡(灰度世界算法)

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

实现原理

       白平衡的意义在于,对在特定光源下拍摄时出现的偏色现象,通过加强对应的补色来进行补偿,使白色物体能还原为白色。

       灰度世界算法是白平衡各种算法中最基本的一种。它假设图像世界具备丰富色彩,红蓝绿三通道的灰度值在平均后趋近一致,该值作为“灰色”;若各通道均值偏离“灰色”,则将其进行补偿,使其回归“灰色”,进而实现白平衡的效果。

       通俗的讲,若图像中绿色较强,蓝色和红色较弱,则用了灰度世界算法后,绿色会适当减弱,蓝色和红色会适当加强,这样就使原本偏色严重的情况得到了缓解。

       灰度世界算法的实现流程如下:   

       1.计算图像RGB三通道各自的灰度平均值Raver、Gaver、Baver。

       2.计算“灰色”:Gray=(Raver+Gaver+Baver)/3。

       3.计算三通道的补偿系数,即灰色值除以单通道平均值。

功能函数代码

// 白平衡-灰度世界
cv::Mat WhiteBalcane_Gray(cv::Mat src)

	cv::Mat result = src.clone();
	if (src.channels() != 3)
	
		cout << "The number of image channels is not 3." << endl;
		return result;
	

	// 通道分离
	vector<cv::Mat> Channel;
	cv::split(src, Channel);

	// 计算通道灰度值均值
	double Bm = cv::mean(Channel[0])[0];
	double Gm = cv::mean(Channel[1])[0];
	double Rm = cv::mean(Channel[2])[0];
	double Km = (Bm + Gm + Rm) / 3;

	// 通道灰度值调整
	Channel[0] *= Km / Bm;
	Channel[1] *= Km / Gm;
	Channel[2] *= Km / Rm;

	// 合并通道
	cv::merge(Channel, result);

	return result;

C++测试代码

#include <iostream>
#include <opencv.hpp>

using namespace std;

// 白平衡-灰度世界
cv::Mat WhiteBalcane_Gray(cv::Mat src)

	cv::Mat result = src.clone();
	if (src.channels() != 3)
	
		cout << "The number of image channels is not 3." << endl;
		return result;
	

	// 通道分离
	vector<cv::Mat> Channel;
	cv::split(src, Channel);

	// 计算通道灰度值均值
	double Bm = cv::mean(Channel[0])[0];
	double Gm = cv::mean(Channel[1])[0];
	double Rm = cv::mean(Channel[2])[0];
	double Km = (Bm + Gm + Rm) / 3;

	// 通道灰度值调整
	Channel[0] *= Km / Bm;
	Channel[1] *= Km / Gm;
	Channel[2] *= Km / Rm;

	// 合并通道
	cv::merge(Channel, result);

	return result;


int main()

	// 载入原图
	cv::Mat src = cv::imread("test.jpg");

	// 白平衡-灰度世界
	cv::Mat result = WhiteBalcane_Gray(src);

	// 显示
	cv::imshow("src", src);
	cv::imshow("result", result);
	cv::waitKey(0);

	return 0;

测试效果

图1 原图
图2 白平衡后图像

       如图1所示,是傍晚的一张图像,众所周知,傍晚的色温是较低的,此时采用高于傍晚色温的色温值拍照,就会得到一张暖色系的图片,偏黄;对其进行白平衡,使图片颜色回归真实的环境色温,就得到如图2的效果。

图3 单色原图
图4 白平衡后图像

        如图3所示,是一张色彩相对一致的图像,整体呈粉色系,此时应用灰度世界算法,图像会整体调整,使得颜色趋近于灰色;感兴趣的可以去看看该颜色的色条,三通道的数值在180-220左右,没有过大的差异,平衡后三数值接近于190,因而呈灰色。

        接下来做个有趣的测试,将原本粉色的墙纸设为较纯的绿色。

图5 调色后的图像
图6 白平衡后效果

        如图5所示,因为图像中存在色调相冲的两个部分,在白平衡后,原本的绿色会调整为深绿色,图像绿色分量降低,其他分量升高,这就导致原本偏粉色的人像区更粉了,这也是该算法的弊端。做该测试也是为了帮助大家更全面深层地理解算法应用场景。

       最近乘风破浪3开播了,大家支持下王心凌姐姐吧~

       如果函数有什么可以改进完善的地方,非常欢迎大家指出,一同进步何乐而不为呢~

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

以上是关于什么是白平衡如何调节白平衡的主要内容,如果未能解决你的问题,请参考以下文章

教你调整数码相机的白平衡

如何调节白平衡

白平衡是什么?怎么理解白平衡?

ps白平衡

IOS – OpenGL ES 调节图像白平衡/色温 GPUImageWhiteBalanceFilter

白平衡调整的步骤