[学习笔记-opencv篇]ubuntu系统下运行opencv自带双目标定+立体匹配程序

2023-11-12

ubuntu系统下运行opencv自带双目标定+立体匹配

找了很多opencv自带双目标定的资料,发现大多数都是使用vs+opencv或matlab运行的(也可能是找的还不够),参考了一些资料,写了个cmake,然后一通操作,总算是顺利运行了。撒花~
参考对照着https://blog.csdn.net/a864488081/article/details/78205519?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task和https://www.jianshu.com/p/88ad5441c2ae进行的操作,原博(第一个链接)写的很好。还不是很熟悉怎么写博客,如有问题请多见谅。

双目标定

1、新建一个文件夹
直接打开终端新建文件夹(这里随便起了一个名字calib),建好后在home里就可以看到。

mkdir calib

然后找到opencv自带的程序stereo_calib.cpp,在OpenCV源码目录下(…\opencv-3.2.0\samples\cpp),把stereo_calib.cpp复制到新建的calib文件夹里。
这里要打开stereo_calib.cpp进行一下修改

vim stereo_calib.cpp

改成下图的样子,因为后面会把stereo_calib.xml直接放在calib文件夹里。
在这里插入图片描述
写完后点击esc,输入:wq保存退出。

2、新建cmake文件
打开calib文件

cd calib

新建cmake文件

vim CMakeLists.txt

写下如下内容。
三处stereocalib是自己定义的项目名称,编译后生成的也是这个名字,可以自行修改。

cmake_minimum_required(VERSION 2.8)
project(stereocalib)
find_package(OpenCV REQUIRED)
add_executable(stereocalib stereo_calib.cpp)
target_link_libraries(stereocalib  ${OpenCV_LIBS})

改完后保存退出。

3、新建build文件夹并编译运行

mkdir build

打开build

cd build

找到官方自带的28张标定图片以及stereo_calib.xml,在(…\opencv-3.2.0\samples\data)里,复制到build文件夹中。
分别执行

cmake ..

make

然后输入./stereocalib(这里的stereocalib是第2步中新建的CMakeLists.txt里自己写的项目名称,保持一致就可以)

./stereocalib

然后就可以看到如下图的输出。
在这里插入图片描述在calib/build中也会生成两个文件extrinsics.yml和intrinsics.yml,下一步会用到。

立体匹配

1、新建一个文件夹
刚才的操作结束后,先返回到home目录,然后新建一个match文件夹。

mkdir match

然后找到opencv自带的程序stereo_match.cpp,在OpenCV源码目录下(…\opencv-3.2.0\samples\cpp),把stereo_match.cpp复制到新建的calib文件夹里。
这里也要对stereo_match.cpp进行一下修改。

vim stereo_match.cpp

修改的内容如下图,把原来的内容改为第一个框中的内容。
在这里插入图片描述改完保存退出。

2、新建cmake文件
内容和双目标定里第2步相同。打开match文件

cd match

新建cmake文件

vim CMakeLists.txt

写下如下内容。三处stereocalib是改为stereomatch。

cmake_minimum_required(VERSION 2.8)
project(stereomatch)
find_package(OpenCV REQUIRED)
add_executable(stereomatch stereo_match.cpp)
target_link_libraries(stereomatch ${OpenCV_LIBS})

写完后保存退出。

3、新建build文件夹并编译运行
操作同上。

mkdir build
cd build

随便拷贝上述28张图片中的任意一对图片如left01.jpg和right01.jpg到build文件中(立体匹配用的两张图),把上一步生成的extrinsics.yml和intrinsics.yml也拷贝到build中。
分别执行

cmake ..

make

然后输入./stereomatch。

./stereomatch

就可以看到如下图的输出。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[学习笔记-opencv篇]ubuntu系统下运行opencv自带双目标定+立体匹配程序 的相关文章

  • OpenCV Python RTSP 流

    我想使用 RTSP 从 IP 摄像机流式传输视频 但我有一个问题 我已经安装了先决条件 而且我的 RTSP 链接可以在 VlC 播放器上运行 但是当我在编辑器中尝试并运行它时 它说找不到相机 这是我的代码 import cv2 import
  • bdist_rpm 从 Ubuntu 到 CentOs

    我们在 Ubuntu Mac 上进行开发 并将 RPM 部署到 CentOS 这是设置 不能更改太多 问题是 当从 rpm 安装时 软件包会转到 usr local lib python2 7 dist packages 这是 Ubuntu
  • 当命令在 Ubuntu 终端中运行时,为什么 Dart 的“Process.start”无法执行 Ubuntu 命令?

    我有命令想用 Dart 调用 命令是sonar runner如果我在普通的 Ubuntu 终端中运行它 它会完美运行 这是因为我已经编辑了PATH in the profile文件 使其成为全局命令 但是 如果我写一个简单的Process
  • 使用终端时出现意外标记“(”附近的语法错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我试图为我的平板电脑获取一个 cpuid 该平板电脑变砖了 我有这段代码 当我通过终端在 ubuntu 上执行它时 它给出以下错误
  • Opencv 运动检测与跟踪

    我需要在网络摄像头的视频帧中进行强大的运动检测和跟踪 背景总是一样的 目的是识别物体的位置 如果可能的话没有阴影 但并不急于去除阴影 我已经尝试过用于背景减法和阈值化的opencv算法 但这仅取决于一个图像作为背景 如果背景的亮度 或相机自
  • 将yuv420p原始数据转换为opencv图像

    我有来自 rtmp 服务器的原始数据 像素格式为 yuv420p 我使用管道来读取数据 但我不知道如何将原始数据解码为图像 command ffmpeg command extend loglevel fatal i rtmp localh
  • python openCV 中的人口普查变换

    我开始在一个与立体视觉相关的项目中使用 openCV 和 python 我找到了关于使用 openCV 在 C 中进行人口普查转换的文档页面 link http docs opencv org 3 1 0 d2 d7f namespacec
  • 查看graphml文件

    我最近发现了一个 graphml 文件 但不知道如何从命令行打开它 我需要安装一些东西才能在 ubuntu 中从命令行查看此类文件吗 我尝试谷歌但找不到与此主题相关的任何结果 Graphml 是标准文件格式图表 yED 编辑器 http w
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何平滑循环列向量

    这是一个 OpenCV2 问题 我有一个矩阵代表closed空间曲线 cv Mat
  • 将向量 转换为大小为 (n x 3) 的 Mat,反之亦然

    我有 Point3d 向量 向量形式的点云 如果我使用 OpenCV 提供的转换 比如 cv Mat tmpMat cv Mat pts Here pts is vector
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 创建反应应用程序:npm 错误!解析“...”附近时 JSON 输入意外结束

    描述错误 npx create react app my app不适合我 我试过npm cache clean force但我一次又一次地遇到同样的错误 重现步骤 npm cache clean force npm npx create r
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • Opencv C++ 检测并裁剪图像上的白色区域

    我在网上搜索过 已经找到了一些方法来完成我想要的事情 但是与我需要的相比 这些方法的效率较低 我有一个 kinect 使用 Microsoft SDK 当前正在获取一个移除背景的人 将结果保存在 3 通道 Mat 中 并将该人从背景中移除
  • Ubuntu 16 LTS - Eclipse 窗口首选项无法正常工作

    我刚刚安装了 Ubuntu 16 04 LTS 我于 3 月 2 日下载了适用于 Linux 64 位的全新 Eclipse 我使用的是最新的 Oracle 热点 JDK 1 8 update 91 版本 在尝试启用 Eclipse 常规首
  • Shift 键在我的 emacs 中不起作用

    I run emacs in gnome terminal with nw option it works well except for some key shortcuts that include the shift key For
  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • opencv - 在图像中绘制轮廓

    我正在尝试在图像周围绘制轮廓 我可以看到找到了轮廓 但无法绘制轮廓 轮廓的颜色似乎是两种 黑色和白色 颜色中的一种 import cv2 import numpy as np import matplotlib pyplot as plt
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序

随机推荐

  • 苹果全新iPhone首发3nm自研芯片,结果“华为发布会”冲上热搜第一…

    明敏 丰色 西风 发自 凹非寺量子位 公众号 QbitAI 就离谱 苹果发iPhone 15 结果发着发着 华为发布会 冲上了热搜第一 哪怕是iPhone 15全系告别11年闪电接口改用USB C 经典静音键从Pro系列消失 这些库克 违背
  • Android性能优化—内存优化

    一 App内存组成以及管理 Android 给每个 App 分配一个 VM 让App运行在 dalvik 上 这样即使 App 崩溃也不会影响到系统 系统给 VM 分配了一定的内存大小 App 可以申请使用的内存大小不能超过此硬性逻辑限制
  • 机器学习中关于偏差、方差和误差的理解

    在模型预测中 模型可能出现的误差来自两个主要来源 1 因模型无法表示基本数据的复杂度而造成的偏差 bias 2 因模型对训练它所用的有限数据过度敏感而造成的方差 variance 误差是测量值与真实值之间的差值 用误差衡量测量结果的准确度
  • Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file)

    org pentaho di core exception KettleDatabaseException Error occurred while trying to connect to the database Driver clas
  • [培训-无线通信基础-6]:信道编码(分组码、卷积吗、Polar码、LDPC码、Turbo码)

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 118657107 目录 前言
  • Shell计算时间运行时间

    方法1 starttime date Y m d H M S 执行程序 endtime date Y m d H M S start seconds date date starttime s end seconds date date e
  • 笔试

    文章目录 前言 21 FPGA组成三要素 1 CLB 2 可编程内部互联资源 3 可编程输入输出块 22 查找表 LUT 23 锁存器 latch 触发器 24 亚稳态 25 逻辑电平 26 逻辑最小项 总结 往期精彩 前言 本文首发于微信
  • LeetCode-135.分发糖果、贪心算法

    老师想给孩子们分发糖果 有 N 个孩子站成了一条直线 老师会根据每个孩子的表现 预先给他们评分 你需要按照以下要求 帮助老师给这些孩子分发糖果 每个孩子至少分配到 1 个糖果 相邻的孩子中 评分高的孩子必须获得更多的糖果 那么这样下来 老师
  • 【共享内存】

    1 共享内存示意图 共享内存区是最快的 IPC 形式 一旦这样的内存映射到共享它的进程的地址空间 这些进程间数据传递不再涉及到 内核 换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据 2 共享内存数据结构 struct shmi
  • uniapp 框架引用turf.js步骤

    Turf js中文网 一 安装指定模块 示例 实现运动轨迹缓冲区及迹缓冲面积计算 接口获取的轨迹点连成线 Turf js 轨迹点只有一个则无法连成线 a npm 安装 npm install turf helpers b 页面引入 impo
  • 深入LDO学习

    目录 工程问题 1 LDO 输出电源电平低于设置值 2 电源芯片欠压保护电路导 致上电时序不满足设计的要求 原理 layout图 优点 缺点 原理 选型 热计算 计算 LDO 工作时的结温 工程问题 1 LDO 输出电源电平低于设置值 某款
  • jqueryweui,两个输入框解决方法

    document ready function
  • CURL使用SSL证书访问HTTPS

    在支付的交互过程中 安全绝对是需要考虑的重要因素之一 体现在对服务器交互数据的签名等环节 但有的时候为了能达到更高的安全级别 还需要用ssl证书 即web服务器有证书 浏览器客户端 请求端也需要安装证书来达到双向验证 比如请求下面的财付通支
  • Linux:169.254.0.0/24路由的来龙去脉

    在Linux中 发现每次系统启动时 都会将 169 254 0 0 16 路由启动并将其添加到路由表中 但是并不知道这条路由具有什么功能和它到底来自于哪里 要想搞清楚路由 169 254 0 0 16 究竟来自哪里并且它的作用是什么 首先需
  • Contest3032 - 计科2101~2104算法设计与分析上机作业03

    目录 问题 A 质数 问题 B 分治法求解全排列问题 问题 C 数的计数 问题 D 最大公共子序列问题 问题 E 分解式的个数 问题 F 矩阵最优连乘问题 问题 A 质数 题目描述 判断给定的一组正整数是否为质数 输入 第一行为测试数据的个
  • linux创建新用户

    只需要四步就能创建一个新的linux用户 1 打开终端 快捷键Ctrl Alt T 2 创建用户和密码 sudo useradd m aaa 创建用户名为aaa的用户 m 自动建立用户的登入目录 sudo是允许系统管理员让普通用户执行roo
  • 在地址栏里输入一个地址回车会发生哪些事情

    解析URL 首先会对 URL 进行解析 分析所需要使用的传输协议和请求的资源的路径 如果输入的 URL 中的协议或者主机名不合法 将会把地址栏中输入的内容传递给搜索引擎 如果没有问题 浏览器会检查 URL 中是否出现了非法字符 如果存在非法
  • libev学习系列之四:ev_loop事件循环

    libev学习系列之四 ev loop事件循环 版本说明 版本 作者 日期 备注 0 1 ZY 2019 5 31 初稿 目录 文章目录 libev学习系列之四 ev loop事件循环 版本说明 目录 一 前言 二 描述 三 例子 一 前言
  • tensorflow(十七)关于tensorboard网络运行时参数的查看

    关于tensorboard网络运行时查看参数主要包括网络的权值和偏差
  • [学习笔记-opencv篇]ubuntu系统下运行opencv自带双目标定+立体匹配程序

    ubuntu系统下运行opencv自带双目标定 立体匹配 双目标定 立体匹配 找了很多opencv自带双目标定的资料 发现大多数都是使用vs opencv或matlab运行的 也可能是找的还不够 参考了一些资料 写了个cmake 然后一通操