首先列出本文使用的软件配置:
- clion 2020.0.1 (没钱哇
- opencv 4.5.2
- aruco3.10.其他最新版本,一些函数名改变了
- cmake 3.24
- win10
一、配置opencv
opencv我没有这个人说得好细致,所以我可以直接看他的文章。https://blog.csdn.net/bby1987/article/details/108985356但值得注意的是,他的CMakeList写作有问题,少了一个引号,会导致无法编译。我以后会放两个包。CMakeList。
二、aruco编译
下载链接:https://sourceforge.net/projects/aruco/files/、配置和opencv同样,下载,使用cmake编译,然后用mingw具体细节见生成opencv的文档
mingw32-make 或 mingw32-make -j8 //编译 mingw32-make install //拷贝到install,方便使用
这里不需要配置aruco直接使用环境变量等。
三、CMakeList
cmake_minimum_required(VERSION 3.16)#版本大于3.16 project(arucotest)#创建项目,我的项目是arucotest,到时候,你可以改成自己的项目名称 set(CMAKE_CXX_STANDARD 20)#设置Cpp版本 set(OpenCV_DIR "D:\\opencv isn\\opencv-4.5.2\\build_mingw64\\install")#opencv库的地址 #寻找opencv库和aruco库 find_package(OpenCV REQUIRED) find_package(aruco REQUIRED ) #包含和链接opencvlib include_directories(${OpenCV_INCLUDE_DIRS}) set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs) #这一行是 add_executable(arucotest main.cpp) #链接arucolib target_link_libraries(arucotest ${OpenCV_LIBS} ${aruco_LIBS})
这个CMakeList我练过,跑过代码,测试代码如下
#include <iostream> #include "aruco.h" #include<opencv2/opencv.hpp> using namespace std; using namespace cv; int main(){
string imagePath = "D:\\Pictures\\1.JPG";//注意,里面的imagepath改为您的图片地址 Mat image = imread(imagePath); resize(image, image, Size(1024, 1024)); namedWindow("TestOpenCV", 0); imshow("TestOpenCV", image); waitKey(0); destroyAllWindows(); return 0; }