首先先列下本文使用的软件配置吧:
opencv我没有这个人讲得好和细致,所以可以直接看他的文章。
https://blog.csdn.net/bby1987/article/details/108985356
但是有一点值得注意,他的CMakeList写的有问题,少了一个引号,这会导致无法编译,我在后面会放出包含两个包的CMakeList。
下载链接:https://sourceforge.net/projects/aruco/files/、
配置和opencv的一样,下载,用cmake编译,然后用mingw生成,具体细节看opencv的文档
mingw32-make
或
mingw32-make -j8
//编译
mingw32-make install
//拷贝到install,方便使用
这里不需要配置aruco的环境变量什么的,直接用就行了
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
#include "aruco.h"
#include
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;
}
PS:如果有人想学习cmake,我的建议是看看这个视频和GitHub,看了一小时你大概就能自己写cmake了
https://www.bilibili.com/video/BV14h41187FZ?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=1ef56da7b9f25f108ff0dc3ccaf38102