一、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-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开始相机校准,最后效果如下图所示: 至此,我们对这个开源库有了基本的了解,下一篇将举一个具体的使用的代码供参考。 <– 本篇完 –>