ArUco 相机校准(from images)
参考博客1
参考博客2
1、下载ArUco
下载链接
ArUco是一个开源的微型的现实增强库,目前好像已经集成在OpenCV3.0以上的版本内了,它除了用于现实增强,还很用于实现一些机器视觉方面的应用。
2、安装
cd aruco3.1.8
mkdir build
cd build
cmake ..
make
sudo make install
3、校准(分为实时和图片)-主要是图片
实时:调用摄像头进行(本机用的是笔记本外接USB摄像头)
运行时出现了“VIDEOIO ERROR:V4L2:property unknown is not supported”的错误—暂未解决
cd aruco3.1.8/build/utils_calibration
./aruco_calibration live ./out_camera_calibration.yml -size "0.04"
live – 实时模式
out_camera_calibration.yml – 输出的相机标定文件
-size “0.04” – 打印出的标定文件中单个marker的尺寸(单位:m)
按’s’:开始/停止
按’a’:添加标定图片
按’c’:执行标定
图片
cd aruco3.1.8/build/utils_calibration
./aruco_calibration_fromimages ./out_camera_calibration.yml pic -size "0.04"
相比之下:增加了一个参数pic
pic 是一个图片目录,包含标定板的多张图片
标定板文件的目录:aruco3.1.8/utils_calibration/aruco_calibration_grid_board_a4.pdf
可用A4打印下来,然后进行拍照,图片存放到pic目录下
可使用guvcview进行多次拍照
点击红色框即可,每点击一次可拍摄一张图片,图片默认保存在家目录下
运行截图
生成的out_camera_calibration.yml文件
ArUco 相机校准(from images)相关推荐
- 4-基于ArUco相机姿态评估
1-简介 基于ArUco评估相机姿态,可以使用OPENCV的外部库(opencv_contrib)中的aruco模块,可以参考安装目录(库目录): -\opencv_contrib-4.5.4\mod ...
- 基于Python进行相机校准
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 相机校准的目的是找到相机的内在和外在参数. 总览 为了校准相机,我 ...
- 自动驾驶视觉融合-相机校准与激光点云投影
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:william 链接:https://zhuanlan.zhihu.com/p/13626375 ...
- OpenCV-Python 相机校准和消除畸变
目标 在本节中,我们将学习 由相机引起的失真类型, 如何找到相机的固有和非固有特性 如何根据这些特性使图像不失真 基础 一些针孔相机会给图像带来明显的失真.两种主要的变形是径向变形和切向变形.径向变形 ...
- OpenCV相机校准camera calibration的实例(附完整代码)
OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 #inc ...
- OpenCV全向相机校准Omnidirectional Camera Calibration
OpenCV全向相机校准 全向相机校准 前言 单相机校准 立体校准 图像校正 立体声重建 全向相机校准 前言 本教程将介绍全向摄像机校准模块的以下部分: 校准单个摄像机. 校准一对立体声摄像机. 校正 ...
- OpenCV交互式相机校准应用
OpenCV交互式相机校准应用 交互式相机校准应用 主要应用功能 参数说明 主要参数: 进阶参数: 双圆圈图案 Data 筛选 校准过程 结果 交互式相机校准应用 根据经典的校准技术,用户必须首先收集 ...
- 使用OpenCV进行相机校准
使用OpenCV进行相机校准 使用OpenCV进行相机校准 理论 目标 源代码 解释 阅读设置 获取下一个输入(如果失败或我们有足够的输入)-校准 在当前输入中查找模式 向用户显示状态和结果,以及应用 ...
- OpenCV用方形棋盘进行相机校准
OpenCV用方形棋盘进行相机校准 用方形棋盘进行相机校准 姿势估计 用方形棋盘进行相机校准 本教程的目的是学习在给定一组棋盘图像的情况下如何校准相机. 测试数据:使用data / chess文件夹中 ...
最新文章
- Delphi多线程编程中的技巧
- 项目管理5大过程组,42个过程一句话讲解
- 从屌丝毕业生到三次优秀员工(腾讯三年工作感悟)
- go.sum中特殊hash如何计算
- Vue/Angular中父窗口新开的子窗口关闭的时候刷新父窗口
- Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案
- C++起航篇——bool类型,输入输出,命名空间
- JavaScript的数据结构与算法(三) —— 单向链表
- 【数据库】第二章 基础函数、聚合函数、条件查询、子查询和多表查询
- Freeswitch 录制视频并播放
- 迈迪工具集solidworks插件sw标准件零件库三维设计库软件今日制造
- SAP ABAP ZBA_R001 查询用户下的角色,事务代码
- 什么是模式识别,对抗学习是什么?
- 51nod 1509 加长棒 插板法
- 【企业架构】企业架构角色和职责
- 基于单片机的自动浇花灌溉系统设计(#0417)
- 学计算机的电脑用i5还是i7好,大学生用i5还是i7 i5和i7该怎么选择
- 2022年天猫618满300减30红包怎么用?
- 摇摇招车CEO:本月北京打车App将共用同一运营后台
- JavaScript shells