• opencv提供的带参数例程


    opencv提供的带参数例程
         如果仅仅是简单的拼接,可以采用stitching.cpp就差不多了;但是如果采用stitching_detailed.cpp的话,首先要解决的就是"编译问题",而后解决的是分析不同参数下的拼接结果和匹配效果;最后是能够理解一些原理。
         OK,历经一些调试,编译成功,首先看一下有哪些参数可以调整。其实光靠这个就可以写一个简单的带调整的界面了。


    F:\06.项目项目\opencv拼接\imageStitching\imageStitching>imageStitching.exe
    Rotation model images stitcher.

    stitching_detailed img1 img2 [...imgN] [flags]

    Flags:
      --preview
          Run stitching in the preview mode. Works faster than usual mode,
          but output image will have lower resolution.
      --try_gpu (yes|no)
          Try to use GPU. The default value is 'no'. All default values
          are for CPU mode.

    Motion Estimation Flags:

      --work_megapix <float>
          Resolution for image registration step. The default is 0.6 Mpx.
      --features (surf|orb)
          Type of features used for images matching. The default is surf.
      --match_conf <float>
          Confidence for feature matching step. The default is 0.65 for surf and 0.3 for orb.  这个我可能会单独配置
      --conf_thresh <float>
          Threshold for two images are from the same panorama confidence.
          The default is 1.0.
      --ba (reproj|ray)
          Bundle adjustment cost function. The default is ray.
      --ba_refine_mask (mask)
          Set refinement mask for bundle adjustment. It looks like 'x_xxx',
          where 'x' means refine respective parameter and '_' means don't
          refine one, and has the following format:
          <fx><skew><ppx><aspect><ppy>. The default mask is 'xxxxx'. If bundle
          adjustment doesn't support estimation of selected parameter then
          the respective flag is ignored.
      --wave_correct (no|horiz|vert)
          Perform wave effect correction. The default is 'horiz'.
      --save_graph <file_name>
          Save matches graph represented in DOT language to <file_name> file.
          Labels description: Nm is number of matches, Ni is number of inliers,
          C is confidence.

    Compositing Flags:
      --warp (plane|cylindrical|spherical|fisheye|stereographic|compressedPlaneA2B1|
    compressedPlaneA1.5B1|compressedPlanePortraitA2B1|compressedPlanePortraitA1.5B1|
    paniniA2B1|paniniA1.5B1|paniniPortraitA2B1|paniniPortraitA1.5B1|mercator|transve
    rseMercator)
          Warp surface type. The default is 'spherical'.
      --seam_megapix <float>
          Resolution for seam estimation step. The default is 0.1 Mpx.
      --seam (no|voronoi|gc_color|gc_colorgrad)
          Seam estimation method. The default is 'gc_color'.
      --compose_megapix <float>
          Resolution for compositing step. Use -1 for original resolution.
          The default is -1.
      --expos_comp (no|gain|gain_blocks)
          Exposure compensation method. The default is 'gain_blocks'.
      --blend (no|feather|multiband)
          Blending method. The default is 'multiband'.
      --blend_strength <float>
          Blending strength from [0,100] range. The default is 5.
      --output <result_img>
          The default is 'result.jpg'.

    测试图片:
    第一组:

    --全部默认参数,80秒,结果

    --preview 约80秒,这个图片拼接的不错,但是时间太长了。

      --work_megapix <float>是用于寻找的,改为0.1后时间为30秒
            --features (surf|orb) 改成orb后速度显著提升
      --match_conf <float>也应该是数值越小匹配越快,但是失败的可能也越大。这个是不断调整参数的过程。

       --ba (reproj|ray)默认是ray,改为reproj后,速度更快!更快


    然后,就是   --warp  这一块,参数比较多
    plane
    cylindrical
    fisheye
    spherical




  • 相关阅读:
    React实现新闻网站--使用动态路由获取不同列表内容
    Bootstrap4 轮播+模态框+提示框+弹出框
    JDK 升级问题小结
    JDK8 指南(译)
    如何学习一门编程语言
    redis 系列5 数据结构之字典(上)
    sql server 临时表(上) Tempdb概述
    redis 系列4 数据结构之链表
    redis 系列3 数据结构之简单动态字符串 SDS
    redis 系列2 知识点概述
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/16947956.html
Copyright © 2020-2023  润新知