简体   繁体   English

OpenCV 图像拼接 - 使用 ExposureCompensator 和 MultiabandBlender 类

[英]OpenCV Image Stitching - using ExposureCompensator and MultiabandBlender class

I am working a panoramic stitching project and I am trying to implement M. Brown and D. Lowe's Automatic Panoramic Image Stitching using Invariant Features by tweaking and adapting it to my needs.我正在做一个全景拼接项目,我正在尝试通过调整和适应我的需求来实现 M. Brown 和 D. Lowe 的使用不变特征自动全景图像拼接 I understand the OpenCV stitching method in stitcher class is based on this.我了解拼接器类中的 OpenCV 拼接方法基于此。

I am stuck at the gain compensation and multi-band blending part.我被困在增益补偿和多频段混合部分。 While I understand the theory behind it fairly well, I am shaky on the implementation.虽然我相当了解它背后的理论,但我对实现却很不稳定。

OpenCV has classes for both, ExposureCompensator and MultibandBlender but I am struggling to put them to use in code. OpenCV 有针对ExposureCompensatorMultibandBlender 的类,但我正在努力将它们用于代码中。

Has anyone sucessfully used any of these classes ?有没有人成功使用过这些课程? Are there any good examples ?有什么好的例子吗?

While I was googling, I came across当我在谷歌搜索时,我遇到了

  1. Balancing contrast and brightness between stitched images 平衡拼接图像之间的对比度和亮度

This tries to explain roughly how to use ExposureCompesator but does not explain what the inputs are.这试图粗略地解释如何使用 ExposureCompesator 但没有解释输入是什么。 Specifically, the inputs for feed method are vector<Point> corners and Vector<Mat> masks.具体来说,feed 方法的输入是vector<Point>角和Vector<Mat>掩码。

a) What are these corners ? a) 这些角是什么? Are these the top left corners of the individual images in the final panorama ?这些是最终全景图中单个图像的左上角吗? or something else ?还是别的什么?

b) What are the masks ? b) 面具是什么? How should I create them ?我应该如何创建它们?

  1. How to use Multi-band Blender in opencv 如何在opencv中使用多波段Blender

This tries to explain how to use the blender class but again misses the input definitions.这试图解释如何使用搅拌机类,但再次错过了输入定义。 What are the corners and masks ?什么是角落和面具?

This is my stitched panorama, I am trying to compensate the exposure differences and blend it.这是我拼接的全景图,我正在尝试补偿曝光差异并将其融合。 在此处输入图片说明

I found this example from opencv image stitching, especially ine 648-670 could be useful?! 我从opencv图像拼接中找到了这个例子,尤其是ine 648-670可能有用吗?! I'm not familier with this topic so maybe its not helpful at all :D 我对这个话题并不熟悉,所以也许它没有任何帮助:D

Have a look into the official tutorial under the section Stitching detailed (python opencv >4.0.1) .Stitching detailed (python opencv >4.0.1)部分下查看官方教程 There you have a detailed implementation within both C++ and Python where also compensation and blending is included!在那里你有 C++ 和 Python 的详细实现,其中还包括补偿和混合!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM