Loading... ### 一、下载OpenCV(可执行文件) [官网地址](https://opencv.org/releases/#)(有梯子的可以下载) [CSDN下载地址](https://download.csdn.net/download/qq_42780025/12574049)(我将3.4.10和4.2.0两个版本的打包上传到CSDN,有C币的可以在这里下载) [百度网盘地址](https://pan.baidu.com/s/1Xs0UyC0UgVEs6WCUEImTEg) **提取码:7tff**(我也在百度网盘上传了一份,有条件的可以去网盘下载) ### 二、解压OpenCV windos10下直接运行exe文件解压到本地即可。  ### 三、配置环境变量 首先,将解压后的OpenCV文件夹下的`opencv\build\x64\vc15\bin`全局路径添加到系统环境变量中。**(不会有同学不知道怎么添加系统环境变量吧?不会吧,不会吧。如果真不会的话可以自行百度)**  其次将刚刚`bin`目录下的三个dll文件`opencv_ffmpeg341_64.dll`、`opencv_world341.dll`、`opencv_world341d.dll` 都添加到系统PATH可以找到的位置,如`C:\Windows\SysWOW64`。 ### 四、配置VS 首先打开vs,新建一个项目。 打开刚刚新建项目的属性页。(需要说明的是,可以看到下图中解决方案资源管理器内有**ALL_BUILD**和**ZERO_CHECK**,这是因为我是通过在终端cmake编译生成的vs项目,而如果你是直接在vs内新建工程就不会有这两个,所以不用担心。如果有上面那两个的话需要在编译的时候把它们删除即可,因为ALL_BUILD本身就是编译不过的。)  如上图,在VS++目录选项内,在**包含目录**内添加`F:\software\Opencv\opencv\build\include`,即include目录。在**库目录**内添加`F:\software\Opencv\opencv\build\x64\vc15\lib`,即lib目录。在**链接器->输入->附加依赖项**内添加`opencv_world341d.lib`即可。 ### 五、测试 新建cpp,写入以下代码 ```cpp #include "opencv2/opencv.hpp" #include <iostream> #include <string> using namespace std; using namespace cv; int main(int argc, char** argv) { string file = "../images/bmp_test.bmp"; //这里改为你本机的图片路径即可 Mat image; image = imread(file, 1); if (!image.data) { cout << "No image data" << endl; return -1; } Mat gray_img; cvtColor(image, gray_img, COLOR_BGR2GRAY); imshow("gray",gray_img); cv::waitKey(0); return 0; } ``` 输出结果如图。  ------ 补充一部分内容。原本我是不打算用VS来编译opencv项目的,最初是想在sublime编辑器写代码(不想用IDE),然后手写CMakeLists.txt,用CMake编译生成Makefile之后,make一下生成可执行文件。但是在实际的操作中遇到了很多问题,查了很多资料,最终还是没有解决,所以折中了一下用VS来编译。 **以下内容记录我遇到的问题** 1、首先cmake编译遇到找不到OpenCVConfig.cmake的问题  解决方法:windows10下OpenCVConfig.cmake在 x64/vc15/lib文件夹下,所以在CMakeLists.txt中添加OpenCV的目录 `set(OpenCV_DIR F:/software/Opencv/opencv/build/x64/vc15/lib)`即可解决。 2、cmake成功生成Makefile之后,make编译出错  报错`undefined reference to cv::imread(cv::String const&, int)` 等等。我猜测这个问题应该是没有找到正确的include目录,但是修改了很多地方一直没有解决问题,最终也卡在了这里。 总结就到这里,如果哪位同学有相似的经历同时解决了这个问题可以在评论区留言,不胜感激。 END Last modification:July 3rd, 2020 at 08:50 pm © 允许规范转载
4 comments
问题解决
我现在c++主要的编译环境是:ubuntu上cmake+gcc, wins上cmake+MSVC
IDE:ubuntu:clion, wins:Visual studio.
非常不好意思,是我看走眼了,我也找到了。
我遇见了,但是/opencv/build/x64/vc15/lib下,没有OpenCVConfig.cmake这个文件