• opencv提供的带参数例程


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


    F:6.项目项目opencv拼接imageStitchingimageStitching>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




  • 相关阅读:
    03-串联
    大数据项目之电商数仓(3电商数据仓库系统)V6.1.3
    JQuery实现tab页
    Java面试题之计算字符/字符串出现的次数
    ios 苹果内购订单验证 --- nodejs实现
    ios 苹果内购订单验证 --- php实现
    Android内购订单验证 --- nodejs实现
    Android内购订单验证 --- php实现
    Google Compute Engine VM自动调节
    php性能优化 --- laravel 性能优化
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/8068278.html
Copyright © 2020-2023  润新知