ORB-SLAM3跑本地视频

这篇具有很好参考价值的文章主要介绍了ORB-SLAM3跑本地视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


把录制的视频放入ORB-SLAM3文件夹内,文件命名为:myvideo.mp4
在同一目录下添加myvideo.yaml、myvideo.cc
ORB-SLAM3跑本地视频

1.相机标定文件–myvideo.yaml

%YAML:1.0
 
#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#--------------------------------------------------------------------------------------------
Camera.type: "PinHole"
 
# Camera calibration and distortion parameters (OpenCV)
Camera.fx: 614.3472290039062
Camera.fy: 613.3615112304688
Camera.cx: 314.36767578125
Camera.cy: 239.8182830810547
 
Camera.k1: 0.0
Camera.k2: 0.0
Camera.p1: 0.0
Camera.p2: 0.0
Camera.k3: 0.0
 
# Camera frames per second
Camera.fps: 30.0
 
# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1
 
# Camera resolution
Camera.width: 1920
Camera.height: 1080
 
#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------
 
# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 1000
 
# ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.2
 
# ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 8
 
# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7
 
#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 5
Viewer.GraphLineWidth: 0.9
Viewer.PointSize:2
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3
Viewer.ViewpointX: 0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500
 

2.在Cmakelists.txt文件中末尾添加对应代码

#生成调用myvideo.mp4 可执行文件
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR})
add_executable(myvideo myvideo.cc)
target_link_libraries(myvideo ${PROJECT_NAME})

3.添加myvideo.cc文件

//需要opencv库
#include <opencv2/opencv.hpp>
 
//ORB_SLAM的系统接口
#include "System.h"
 
#include <string>
//计算时间
#include <chrono>
#include <iostream>
 
using namespace std;
 
string parameterFile = "./myvideo.yaml";
//这里我输入的是绝对路径
string vocFile = "/home/hr/ORB_SLAM3/ORB_SLAM3-master/Vocabulary/ORBvoc.txt";
 
//视频文件,该示例中视频文件存放在/ORB_SLAM3/Examples/Monocular下
string videoFile = "./myvideo.mp4";
 
int main(int argc, char **argv){
        //声明ORB_SLAM3系统
        ORB_SLAM3::System SLAM(vocFile, parameterFile, ORB_SLAM3::System::MONOCULAR, true);
 
        //获取视频图像
        cv::VideoCapture cap(videoFile); //如果使用的是USB相机,将该参数修改成接口名称,如:0,1
 
        //记录系统时间
        auto start = chrono::system_clock::now();
 
        while(1){
                cv::Mat frame;
                cap >> frame;  //读取相机数据
                if(frame.data == nullptr)
                        break;
                cv::Mat frame_resized;
                cv::resize(frame, frame_resized, cv::Size(960,540));//运行时显示的视频的尺寸
 
                auto now = chrono::system_clock::now();
                auto timestamp = chrono::duration_cast<chrono::milliseconds>(now - start);
                SLAM.TrackMonocular(frame_resized, double(timestamp.count())/1000.0);
                cv::waitKey(30);
        }
        SLAM.Shutdown();
        return 0;
}

重新编译ORB-SLAM3 会出现myvideo执行文件
ORB-SLAM3跑本地视频在此文件夹打开终端输入:./myvideo即可运行视频文章来源地址https://www.toymoban.com/news/detail-421489.html

到了这里,关于ORB-SLAM3跑本地视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SLAM ORB-SLAM2(22)分解基础矩阵

    在 《SLAM ORB-SLAM2(12)估算运动并初始地图点》 中了解到 估算两帧间相对运动过程: 记录特征点对的匹配关系 RANSAC 采样准备 计算H矩阵或者F矩阵 判断并选取模型求位姿过程 在

    2024年04月15日
    浏览(30)
  • 基于ORB-SLAM3库搭建SLAM系统

    博客地址:https://www.cnblogs.com/zylyehuo/ ORB-SLAM3配置及安装教程 ORB-SLAM3配置安装及运行 Win 11pro VMware 17Pro Ubuntu 18.04 Eigen3 Pangolin Opencv3.4.3 ORB-SLAM3源码: https://github.com/UZ-SLAMLab/ORB_SLAM3 安装 Pangolin 需要的依赖工具 安装 Pangolin 官网下载地址:https://opencv.org/releases/page/5/ 下载之后放在

    2024年02月03日
    浏览(36)
  • SLAM ORB-SLAM2(20)查找基础矩阵

    在 《SLAM ORB-SLAM2(12)估算运动并初始地图点》 的 2.3. 计算H矩阵和F矩阵过程 中

    2024年03月17日
    浏览(36)
  • ORB-SLAM内的卡方检验

    Reference: 卡方检验(Chi-square test/Chi-Square Goodness-of-Fit Test) 卡方检验详解分析与实例 卡方值: χ 2 chi^2 χ 2 值表示观察值与理论值之间的偏离程度。计算这种偏离程度的基本思路如下: 设 O O O 代表某个类别的 观察频数 , E E E 代表基于某个假设 H 0 H_0 H 0 ​ 计算出的 期望频数 ,

    2024年02月06日
    浏览(46)
  • ORB-SLAM3整体流程详解

    在之前,作者曾经转过一篇《一文详解ORB-SLAM3》的文章。那篇文章中提到了ORB-SLAM3是一个支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目,双目和RGB-D相机上利用针孔或者鱼眼模型运行。与ORB-SLAM2相比,ORB-SLAM3在处理大视差和长时间未观测到的场景时效果更好。它还

    2024年02月06日
    浏览(43)
  • ORB-SLAM2环境配置及运行

    本文是基于Ubuntu 20.04及OpenCV 4.6.0成功运行ORB-SLAM2,并在开源数据集上进行了测试。由于OpenCV和其他依赖库的版本较新,编译过程会出现一些问题,需要修改部分代码和CMakeLists.txt文件,这里做一个记录,也希望能帮到有需要的小伙伴。 开始尝试安装Eigen3.4.0和Pangolin-0.8版本,后

    2024年02月03日
    浏览(36)
  • SLAM ORB-SLAM2(21)基础矩阵的计算和评分

    在 《SLAM ORB-SLAM2(20)查找基础矩阵》 中了解到 查找基础矩阵主要过程: 特征点坐标归一化 Normalize 函数 Normalize 参考 《SLAM ORB-SLAM2(14)特征点坐标归一化》 选择归一化之后的特征点 八点法计算基础矩阵 ComputeF21 评分并评优 CheckFundamental 现在来看看基础矩阵如何计算和评分

    2024年03月09日
    浏览(37)
  • ORB-SLAM3算法2之EuRoc、TUM和KITTI开源数据集运行ORB-SLAM3生成轨迹并用evo工具评估轨迹

    ORB-SLAM3算法1 已成功编译安装ORB-SLAM3到本地,本篇目的是用 EuRoc 开源数据来运

    2024年02月08日
    浏览(35)
  • ORB-SLAM3 数据集配置与评价

    在ORB-SLAM3运行EuRoC和TUM-VI数据集并作以评价。EuRoC利用微型飞行器(MAV ) 收集的视觉惯性数据集,TUM-VI 是由实验人员手持视觉-惯性传感器收集的数据集。这两个是在视觉SLAM中比较常用的公开数据集,所以测试并加以记录。 1、EuRoC官网下载 从官网下载Euroc数据集,ASL格式 2、新

    2024年02月15日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包