【发布时间】:2015-10-18 16:15:07
【问题描述】:
我有一个问题,我正在使用 OPenCV 3.0+Aruco 开发树莓派。我已经安装了 openCV 3.0 和 openCV_contrib,安装和构建过程正确。但是,当我尝试编译一个位于 opencv_contrib 中的 detect_board.cpp 项目时,我收到以下错误: aruco.hpp 不是文件或目录。 但是文件 aruco.hpp 在那里。它在 opencv_contrib-master/modules/aruco/include/opencv2 中。程序中包含的头文件是:
#include <opencv2/highgui.hpp>
#include <opencv2/aruco.hpp>
#include <vector>
#include <iostream>
【问题讨论】:
-
但是你确定 aruco.hpp 安装在你的系统某处 /usr/loca/... (或任何地方)并且你正在传递一个有效的“-I”选项来包含目录它在哪里? (我假设您使用的是 gcc)
-
应该在
<OPENCV_DIR>/install/include/opencv2中找到,而不是在master/modules/etc...中找到 -
你应该用contrib模块构建OpenCV,而不是构建OpenCV然后添加contrib模块。
-
所以我向你解释我做了什么。首先,我安装了 OpenCv,创建了构建目录,并使用了 cmake 和 make 之后。在我下载了 opencv_contrib 并将其解压缩后,在构建目录中并在我执行了 opencv_contrib 部分中的指令之后。现在唯一的文件 aruco.hpp 位于 OPencv/build/opencv_contrib/modules/include/opencv2 目录中。例如 highgui.hpp 文件在目录 Opencv/modules/highgui/include/opencv2 中,而不是在目录 build/modules 中。
-
这里使用Mac编译的步骤:stackoverflow.com/questions/48058527/…