繁体   English   中英

采用OpenCV的低质量航空拼接

[英]Low quality aerial stitching with OpenCV

我最近试图在OpenCV中缝合由直升机拍摄的低质量,低分辨率(320x180)图像。 这是我得到的:

http://postimg.org/gallery/1rqsycyk/

拍摄的照片几乎是最低点,你可以看到很多重叠。 每次拍摄之间都是翻译,我试图将物体放在地面上,使场景几乎保持平面,不会影响单应性的要求。 无论如何,在拼接过程中不会考虑很多图片。

这是另一个例子,(只有三个图像拼接在一起):

http://postimg.org/gallery/1wpt3lmo/

我正在使用Surf Featuredetector,并认为低质量的图像不适合它,但我不确定。

这是我使用的代码,我发现它在一个类似的问题OpenCV非旋转图像拼接,并决定使用它,因为它比我的工作更好:

    Mat pano;
    Stitcher stitcher = Stitcher::createDefault(false);

    stitcher.setWarper(new PlaneWarper());
    stitcher.setFeaturesFinder(new detail::SurfFeaturesFinder(1000,3,4,3,4));
    stitcher.setRegistrationResol(0.1);
    stitcher.setSeamEstimationResol(0.1);
    stitcher.setCompositingResol(1);
    stitcher.setPanoConfidenceThresh(1);
    stitcher.setWaveCorrection(true);
    stitcher.setWaveCorrectKind(detail::WAVE_CORRECT_HORIZ);
    stitcher.setFeaturesMatcher(new detail::BestOf2NearestMatcher(false,0.3));
    stitcher.setBundleAdjuster(new detail::BundleAdjusterRay());
    Stitcher::Status status = Stitcher::ERR_NEED_MORE_IMGS;
    try{
        status = stitcher.stitch(picturesTaken, pano);
    }
    catch(cv::Exception e){}

我的另一个猜测是手动完成拼接过程,而不是使用Stitcher类,但我不确定它是否会发生很大变化。 所以问题是:尽管图像质量低,但如何使拼接过程更加稳健? 另外:定义ROI对性能或实际拼接的可能性有影响吗?

考虑到输入图像的质量,结果并没有那么糟糕!

为了提高输出质量,我会(优先顺序):

  1. 估计相机失真以便修复它并使匹配更容易
  2. 在缝合之前执行一些直方图或照明均衡
  3. 尝试增加图片之间的时间差距或使用其他缝合器。 当在其重叠区域中合并图像时,输出器中的部分模糊由创建者创建。

我认为问题在于你拍摄了无纹理区域的照片,并且很难从这些平滑区域中提取出很好的独特关键点。

我发现了这个问题,这对我很有帮助。 我调查了这个主题,我还有其他一些提示:

关于寻找类似的图像:

  • 你用minHessian = 1000设置SURFFeatureFidner。这是非常大的值(OpenCV建议300,我有时使用100)。 这就是为什么只有匹配而不是所有图像。
  • 你将PanoConfidendceThresh设置为“1”,也许你应该设置“0.8”,它会缝合更多的图像。

关于拼接图像的外观:Stitcher管道中还有一些其他功能。 尝试使用:

  • stitcher.setSeamFinder(新细节:: GraphCutSeamFinder(GraphCutSeamFinderBase :: COST_COLOR))

  • stitcher.setBlender(detail :: Blender :: createDefault(Blender :: MULTI_BAND,false))

  • stitcher.setExposureCompensator(detail :: ExposureCompensator :: createDefault(ExposureCompensator :: GAIN_BLOCKS))

也许这会对你有所帮助!

暂无
暂无

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

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