2012-12-20 56 views
7

我正在进行图像拼接项目,并且我明白在处理图像的对比度和亮度方面存在不同的方法。我甚至可以在缝合图像之前处理这个问题,但结果并不像我希望的那样一致。所以我的问题是,在拼接发生后,是否有可能通过任何机会“平衡”或相当“平衡”彩色照片中的对比度和亮度?平衡缝合图像之间的对比度和亮度

回答

4

您想要从整个图像中确定直方图均衡功能,而不是在它们将要接触或重叠的区域上。你显然希望在重叠区域有相同的直方图,所以这就是你计算函数的地方。然后,您在整个图像上应用完成此功能的均衡功能。如果您有两个以上的针迹,您仍然希望事先进行全局均衡,然后使用重叠均衡功能的加权应用程序,以便在您离开缝合边缘时降低影响。

道歉,如果这对你来说已经很明显,但是你的一般问题会让我得到一个普遍的答案。

+0

你有什么机会向我展示一个实际的例子吗?我理解这些概念,但是在OpenCV中实现方式有点失落。 – JavaCake

4

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

曝光补偿在3个步骤进行:

  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

+0

你是否管理这个代码工作? – user65721

+0

你可以分享代码吗?我已经尝试过,无法管理它的工作! – user65721

+0

我也试图完成这件事。更多的信息在cpp示例项目的'stitching_detailed.cpp'示例中实现。 –

相关问题