调整一张图像的曝光/白平衡以匹配另一张图像(使用PIL?)

时间:2011-06-30 10:08:23

标签: python image-processing python-imaging-library stereo-3d

我有一个便宜的立体摄像机,我用它潜水。有时每个相机的白平衡或曝光设置不同。例如:

http://www.chrisevans3d.com/temp/forums/left.jpg

http://www.chrisevans3d.com/temp/forums/right.jpg

有没有办法通过获取每个的im.histogram(),制作差异或LUT然后将一个图像转换为另一个? photoshop的“匹配颜色”功能如何运作?

我想发布一个免费软件套件,让gopro立体相机更有用,所以任何帮助都会很棒。

2 个答案:

答案 0 :(得分:4)

匹配白平衡并非易事。一种非常基本的方法是假设灰色世界并缩放一个图像的RGB通道以匹配另一个图像的平均RGB值。当场景偏向颜色(而不是灰色)时,这将很容易失败。您可以通过拒绝暗/亮像素等进一步改进它。白平衡上有数吨纸。找到估算图像色温的算法,然后确定哪一个更适合场景/相机设置&规范化图像。

这是一个类似的曝光故事,即自适应算法识别图像中的感兴趣区域并匹配平均亮度。

我建议,从一个简单的算法开始,然后在遇到失败时进行改进。也允许手动覆盖。

编辑:

值得一开始:HP Adaptive White Balance

阅读原始图像的工具+基本的后期处理:dcraw

答案 1 :(得分:0)

请参阅:http://en.wikipedia.org/wiki/Histogram_matching。这涉及灰度直方图匹配,但您可以在RGB图像上按通道进行。

我的实现在这里做了很多:

https://github.com/gfxmonk/stereoscoper/blob/8eba4b819c2415d5218dc0c9c8e264750ef4fb8e/stereoscoper#L120

给定左图和右图,它计算它们的“平均”直方图,并调整每个图像的水平以匹配该平均值。您可以改为左侧匹配右侧或右侧匹配,但我不想选择。