Y-pandaman / 360-stitcher

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

  • 编译

    mkdir build
    cd build
    cmake ..
    make -j
    
  • 使用

    ./pano_test ../assets/ 0
    
  • 文件结构

    ├── 使用说明.md
    ├── apps
    │   └── main.cpp
    ├── assets
    │   ├── camera_video_0429   // 录制的视频
    │   ├── camera_video1  // 录制的视频
    │   ├── car.png  // 叠加的车模型
    │   ├── pano_assist.png
    │   ├── weights   // 权重
    │   └── yamls  // 内外参
    ├── CMakeLists.txt
    ├── include
    │   ├── common
    │   ├── core
    │   ├── stage
    │   └── util
    ├── output   // 输出的拼接视频
    │   └── video.avi
    ├── proto
    │   └── image.proto
    └── src
        ├── core
        ├── stage
        └── util
    
  • 可选优化

    • yolo模型可以换成tensorrt的,能够加速一部分
    • 部分for循环可以使用parallel_for_并行加速
    • 当前的gst接收必须等6个相机全部有数据才会开始拼接,若一个相机坏了,收不到数据,会一直卡在那里,
    • gst接收程序部分缓冲区会一直保存最后一帧,即使没数据,也会一直拼最后一帧
    • 目前叠加车模型或者倒车辅助线都是在gpu里做的
  • pano_main.cpp中的开关:

    #define OUTPUT_STITCHING_RESULT_VIDEO  // 显示+保存拼接图像
    // #define USE_GST_INPUT   // 使用gst实时流
    // #define RESEND_ORIGINAL_IMAGE  // 转发特定几个视野的画面
    #define USE_VIDEO_INPUT  // 使用录制的视频
    #define USE_720P  // 使用720P画面(原相机是1080P的,内参也是1080P的,视频流是转成720P再发出来的)
    

About


Languages

Language:C++ 70.1%Language:Cuda 20.7%Language:C 8.8%Language:CMake 0.5%