如何使两张相机照片看起来相似(亮度、白平衡……)

How to make two camera pictures look similar (Brightness, White Balance,...)

我有两个网络摄像头(都是罗技 C615)。我想以一种方式调整网络摄像头,使它们在相同的环境中拍摄出几乎相同的照片。 (原因是我想将此图像渲染到 occulus rift 上)。

我正在使用 OpenCV 连接相机。我的第一个无辜尝试是从一个摄像头获取所有 CV_CAP_PROPs 并将值设置到另一个摄像头。效果不是很好。

是否已经有我可以使用的功能,或者你能给我另一种方法吗?

--- 编辑:直方图均衡化 ---

这是结果:

结果比以前好,但是你可以看到色调不同。

尝试将它们转换为 YCrCb 并仅均衡 Y 通道(如果需要,将它们转换回 BGR)。 这应该使两个图像的亮度相等。

代码段:

cv::cvtColor( frame, frame, CV_BGR2YCrCb);
    cv::split( frame, channels);
cv::equalizeHist( channels[0], channels[0] );
    cv::merge( channels, 3, frame );
cv::cvtColor( frame, frame, CV_YCrCb2BGR );