【问题标题】:Balancing contrast and brightness between stitched images平衡拼接图像之间的对比度和亮度
【发布时间】:2012-12-08 08:35:22
【问题描述】:

我正在做一个图像拼接项目,我知道处理图像的对比度和亮度有不同的方法。我当然可以在缝合图像之前处理这个问题,但结果并不像我希望的那样一致。所以我的问题是,是否有可能在拼接后“平衡”或“均衡”彩色图片的对比度和亮度?

【问题讨论】:

    标签: opencv computer-vision brightness contrast


    【解决方案1】:

    您可能想看看 OpenCV 提供的Exposure Compensator class

    曝光补偿分三步完成:

    1. 创建您的曝光补偿器

      Ptr<ExposureCompensator> compensator = ExposureCompensator::createDefault(expos_comp_type);

    2. 您输入所有图像以及每个图像的左上角。默认情况下,您可以将蒙版完全保留为白色,除非您想指定要处理的图像的某些部分。

      compensator->feed(corners, images, masks);

    3. 现在它具有图像如何重叠的所有信息,您可以单独补偿每张图像

      compensator->apply(image_index, corners[image_index], image, mask);

    补偿后的图像将存储在image

    【讨论】:

    • 你能分享一下代码吗?我已经尝试过了,但无法让它工作!
    • 我也在努力完成这项工作。更多信息,它在 cpp 示例项目的 stitching_detailed.cpp 示例中实现。
    • 我想知道角总是(0,0)或其他东西。
    【解决方案2】:

    您不想从整个图像中确定直方图均衡函数,而是在它们将接触或重叠的区域上确定。您显然希望在重叠区域中具有相同的直方图,因此这是您计算函数的地方。然后,您可以在整个图像上应用实现此目的的均衡函数。如果您有两个以上的针迹,您仍然希望预先进行全局均衡,然后使用重叠均衡函数的加权应用,以减少您远离缝合边缘时的影响。

    如果这对您来说已经很明显了,我们深表歉意,但您的一般性问题使我得到了一般性的答案。

    【讨论】:

    • 你能不能给我看一个实际的例子?我理解这些概念,但在 OpenCV 中的实现我有点迷失了。
    猜你喜欢
    • 2012-12-03
    • 2016-06-08
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多