基于ArUco的视觉定位(一)

1、ArUco简介及安装步骤

ArUco: a minimal library for Augmented Reality applications based on OpenCV,是科尔多瓦大学“人工视觉应用”研究小组(A.V.A)设计开发的一个微型现实增强库。CSDN有篇博客:ArUco—-一个微型现实增强库的介绍及视觉应用 介绍的挺好,可以参考一下。

ArUco源码下载地址:https://sourceforge.net/projects/aruco/files/?source=navbar (源码持续更新)

——Windows系统下编译安装

ArUco在Linux系统支持较好,用Windows的话操作比较麻烦,看你用什么IDE,一般我们都用Visual Studio,那就要把源码下载解压后用cmake-gui构建一个与你IDE版本匹配的项目,然后再用IDE编译安装。cmake-gui下载地址:https://cmake.org/download/,注意自己的Windows系统是32位还是64位。

ArUco项目依赖于OpenCV(version>=2.4.9)和Eigen3(项目源码中已经包含,不需安装),所以建议直接安装OpenCV3.0以上的版本,OpenCV下载地址:https://opencv.org/releases.html 。在Windows中安装OpenCV是最好下载源码自己用CMake编译安装,以避免与自己的系统和IDE版本不匹配。OpenCV源码可以直接在GitHub上下载,源码地址:https://github.com/opencv/opencv/releases 。在构建ArUco项目前一定要先把OpenCV编译安装好,不然ArUco会提示找不到OpenCV。

获取ArUco的另一个途径是下载安装OpenCV的附加库opencv_contrib,因为ArUco已经集成到OpenCV3.0以上版本的opencv_contrib里了。opencv_contrib源码下载地址:https://github.com/opencv/opencv_contrib/releases注意:下载附加库源码的版本一定要与OpenCV源码版本一致。

用cmake-gui构建ArUco或opencv_contrib源码的过程类似,一定要以管理员身份运行cmake-gui,按照常规步骤一般不会出错。注意在添加OpenCV模块的时候一定要选择事先编译安装好OpenCV的文件夹,版本要一致,x86和x64一定要区分,文件夹中必须包含OpenCVConfig.cmake这个文件。

附 Visual Studio 配置OpenCV三步曲(以VS2013 32位编译器 OpenCV3.3.1为例):
(1)VC++目录–>包含目录,添加:
D:\opencv331\opencv\mybuild\install\include
D:\opencv331\opencv\mybuild\install\include\opencv
D:\opencv331\opencv\mybuild\install\include\opencv2

(2)VC++目录–>库目录,添加:
D:\opencv331\opencv\mybuild\install\x86\vc12\lib
D:\opencv331\opencv\mybuild\install\x86\vc12\staticlib

(3)链接器–>输入–>附加依赖项,添加 .lib文件,注意添加的库与编译选项要一致,debug版本带d,release版本不带d。
命令行生成文件列表小技巧:进入lib文件夹打开命令窗,运行命令dir /b >libs.txt,即会将该文件夹下的所有文件名生成在名为libs的文本文档里。

——Linux(Ubuntu14.04)系统下编译安装

安装ArUco之前一定要先安装OpenCV,最好3.0以上版本,不能低于2.4.9。

  • 默认路径安装 /usr/local/
$ unzip aruco-3.0.6.zip
$ cd aruco-3.0.6
$ mkdir build
$ cd build
$ cmake ..
$ make -j4 install
  • 指定路径安装
$ mkdir aruco306_installed
$ unzip aruco-3.0.6.zip
$ cd aruco-3.0.6
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=<full path of aruco306_installed>
$ make -j4 install

安装完成后会在安装路径下生成四个文件夹:bin、include、lib 和 share,分别包含了可执行文件、头文件、库文件和CMake配置文件。当我们需要用到ArUco时,就可以在对应的CMakeLists.txt文件里加上find_packge(aruco REQUIRED),如果cmake报错,还需要在前面加上一句set(aruco_DIR <full path of aruco306_installed>/share/aruco/cmake),然后将 aruco_INCLUDE_DIRS 和 aruco_LIBS 加入 include_directories 和 target_link_libraries 即可。

但是:不知道什么原因,在博主电脑上ArUco3.0以上版本的arucoConfig.cmake文件中并不包含ArUco的头文件路径和库文件信息,所以find_package无效,只能在CMakeLists.txt里手动添加set(aruco_INCLUDE_DIRS <full path of aruco306_installed>/include/aruco)set(aruco_LIBS <full path of aruco306_installed>/lib/libaruco.so)

附CSDN上一位大神的博客:cmake使用示例与整理总结

2、ArUco项目源码简析

猜你喜欢

转载自blog.csdn.net/lixujie666/article/details/80246909