【问题标题】:Adjusting one image's exposure / white balance to match another (with PIL?)调整一张图像的曝光/白平衡以匹配另一张图像(使用 PIL?)
【发布时间】:2011-09-25 20:46:15
【问题描述】:

我有一个便宜的立体相机装置,用于潜水。有时,每台相机的白平衡或曝光设置都不同。示例:

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

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

有没有办法通过获取每个图像的 im.histogram()、制作差异或 LUT 然后将一个图像转换为另一个图像来做到这一点? Photoshop 的“匹配颜色”功能如何工作?

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

【问题讨论】:

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


【解决方案1】:

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

我有一个几乎可以做到这一点的实现:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    编辑:

    值得一开始:HP Adaptive White Balance

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

    【讨论】:

    • 对不起,让我说得更具体一些。这不是太多的白平衡。这些是没有 RAW 或 EXIF 的 1080p 视频流。我只想制作一个应用程序,您可以在其中单击图像(示例)并调整其他图像的 HSV 以匹配。
    • 你必须从出版物中挖掘合理的算法来提取图像的色调/亮度,然后用 PIL 应用它会很容易
    • 在一个图像处理论坛上,看起来你可以制作一个 LUT,从一个直方图转到另一个直方图。网上没有太多关于创建 LUT 以使用 PIL 转换图像的信息......
    猜你喜欢
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 2011-08-09
    • 2013-03-22
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多