ArUco—-一个微型现实增强库的介绍及视觉应用(一)

162
0
2020年8月28日 16时00分

一、ArUco简介

ArUco—-一个微型现实增强库的介绍及视觉应用(一)插图

 

ArUco是一个开源的微型的现实增强库,目前好像已经集成在OpenCV3.0以上的版本内了,它除了用于现实增强,还很用于实现一些机器视觉方面的应用,上图中的波士顿动力也曾用此方法用于Atlas的视觉定位,下面是两个重要的网址:

 

ArUco下载地址:https://sourceforge.net/projects/aruco/files/(可以下载2.0.19或3.0.0)

ArUco的Marker生成网址:http://terpconnect.umd.edu/~jwelsh12/enes100/markergen.html(可以定制Marker的size、ID以及Padding)

 

ArUco开源库的几个特点如下:

1.基于C++;

2.仅依赖于OpenCV(≥2.4.9)和Eigen3(源码中已经包含);

3.BDS开源。

 

二、ArUco安装

本示例以Linux(Ubuntu14.04)为例进行安装和使用说明。按照上节地址下载完成源码后放在Linux系统自己的某个文件夹下面,然后进行安装,具体步骤为:

 

1. cd aruco-2.0.19(进入目录);

2. mkdir build(建立编译文件夹);

3.cd build(进入文件夹);

4.cmake ..

5.make -j4

 

至此编译安装完成,主目录树如下:

 

1
2
3
4
5
6
7
8
├── matlab
├── src
│   └── markerlabelers
├── tests
├── utils
├── utils_calibration
├── utils_gl
└── utils_markermap

 

src—-源码;

utils—-使用示例;

utils_calibration—-相机校准程序;

utils_markermap—-Marker Map使用示例;

utils_gl—-本库及OpenGL的使用;

utils—-单独视觉标志检测示例;

 

三、ArUco使用

 

该库主要的类主要有:

aruco::Marker—-视觉标志类;

aruco::MarkerDetector—-视觉标志检测类;

aruco::MarkerPoseTracker—-视觉标志姿态预估类;

aruco::MarkerMap—–视觉标志地图类;

aruco::MarkerMapPoseTracker—-视觉标志地图姿态预估类;

aruco::CvDrawingUtils—-绘图类;

 

四、利用ArUco对相机进行校准

ArUco—-一个微型现实增强库的介绍及视觉应用(一)插图(1)

视觉校准标准标志地图

 

在文件夹/aruco-2.0.19/utils_calibration内,可以看到:aruco_calibration_board_a4.pdf,打印出来就可以用于相机的校准了,具体步骤如下:

 

进入刚才编译完成的文件夹:/aruco-2.0.19/build/utils_calibration,该相机校准支持图片方式、录像方式和实时模式(本文以后者为例),在此文件夹下,输入命令:

/aruco-2.0.19/build/utils_calibration$ ./aruco_calibration live out_camera_calibration.yml -size “0.04”

 

几个参数解释如下:

live —-实时模式;

out_camera_calibration.yml —-校准参数输出文件名称;

-size “0.04”—-校准标志的尺寸(单位:m)

 

正常会出现如下信息:

0.04 500 8e-05
Press ‘a” to add current view to the pool of images used for calibration
Press ‘c’ to perform calibration
Press ‘s’ to start/stop capture

 

此时按照指示输入字母s开始图像捕捉,每次找到合适的视角后就点击a,直到所有的视角都完成后输入c开始相机校准,最后效果如下图所示:

 

ArUco—-一个微型现实增强库的介绍及视觉应用(一)插图(2)

 

至此,我们对这个开源库有了基本的了解,下一篇将举一个具体的使用的代码供参考。

 

<– 本篇完 –>

 

发表评论

后才能评论