使用CMake在Windows环境下的VS2019中配置openCV

1、去openCV官网下载Windows版本安装包(一个exe文件,下载后解压安装到路径A)。

2、打开CMake配置,在CMake命令参数中输入:-DCMAKE_PREFIX_PATH="A",多个路径用分号隔开。

3、在CMakeLists.txt中加入一行:find_package(OpenCV REQUIRED),Ctrl+S。CMake应该不会报错。

4、到有main()函数的cpp文件中加入:#include <opencv2/opencv.hpp>,看到include下有红线。

5、回到CMakeLists.txt中加入一行:target_link_libraries( 项目名称 ${OpenCV_LIBS} ),OpenCV_LIBS应该是在第三部Ctrl+S时配置的环境变量(参见OpenCVConfig.cmake文件:https://github.com/opencv/opencv/blob/master/cmake/templates/OpenCVConfig.cmake.in)。Ctrl+S。CMake不报错。

6、回到cpp文件,此时include红线消失。加入一行:using namespace cv; 再在main函数中加入以下代码:

 1 Mat image;
 2     image = imread("C:\Users\Think\Pictures\bachalpsee-mit-foehnstimmung-grindelwald-pic--david-birri_28418.jpg", 1);
 3     if (!image.data)
 4     {
 5         printf("No image data 
");
 6         return -1;
 7     }
 8     namedWindow("Display Image", WINDOW_AUTOSIZE);
 9     imshow("Display Image", image);
10     waitKey(0);
11     return 0;

记得把图片路径换成自己的。

这时候运行,会出现错误:cannot find opencv_world450d.dll。

试了多种方法,找到这个文件在A路径下的具体位置,添加到path环境变量中,无效;将此文件直接复制到项目的uildx64-Debug目录下,无效。

最后参考了:https://blog.csdn.net/Feeryman_Lee/article/details/106114718

把 opencvuildx64vc15in 下的所有dll文件复制到C:WindowsSystem32 目录下,再次运行程序,成功显示图片。

如此openCV便已经成功配置了。

原文地址:https://www.cnblogs.com/mrlonely2018/p/13829630.html