使用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 \n"); 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环境变量中,无效;将此文件直接复制到项目的\build\x64-Debug目录下,无效。
最后参考了:https://blog.csdn.net/Feeryman_Lee/article/details/106114718
把 opencv\build\x64\vc15\bin 下的所有dll文件复制到C:\Windows\System32 目录下,再次运行程序,成功显示图片。
如此openCV便已经成功配置了。