文章目录
- 1.安装Visual Studio2017/2019
- 2.配置OpenCV
- 2.1 下载OpenCV
- 2.2 安装OpenCV
- 3.VisualStudio配置OpenCV
- 3.1添加环境变量
- 3.2配置项目目录
- 3.3 配置inlcude目录
- 3.4 配置静态库
- 4.测试OpenCV
1.安装Visual Studio2017/2019
目前最新的Visual Studio版本是Visual Studio 2019,读者按喜好安装即可,我的电脑上已经安装好了VS2017,就不安装新版本了
2.配置OpenCV
2.1 下载OpenCV
登录OpenCV官网下载OpenCV
下载对应版本即可,注意4.x版本只能在64位下编译
2.2 安装OpenCV
打开下载的安装包,选择要存放的路径
我的路径是D:\Lib
,这里要注意避免中文路径,否则会出错
点击Extract解压即可
3.VisualStudio配置OpenCV
其实本质上和配置其他第三方库一样,将静态库配置到依赖目录中,如果是Linux系统就是写Makefile而已,在VisualStudio里就变成配置环境了
配置环境的两种方法:
- 方法一:全局配置 是一劳永逸的方法,只用配置一次,之后每一次打开都是配置好了的;但缺点也很明显,再建一个和这个OpenCV无关的项目也会受影响
- 方法二:配置属性表,每一次新建一个工程都需要添加一次。
3.1添加环境变量
首先要做的就是把OpenCV添加到环境变量
我的是英文操作系统 ,大概看一下吧
计算机—>属性—>高级系统属性—>高级—>环境变量
找到Path,编辑,新建或者浏览刚刚你解压的OpenCV文件夹D:\Lib\opencv\build\x64\vc15\bin
这里x64下面有vc14
和vc15
两个文件夹,区别是其中vc14兼容VS2015和VS2017,vc15兼容VS2017和VS2019添加完环境变量后需要注销或者重启一下系统,否则后面怎么配都会出问题
3.2配置项目目录
新建一个项目或者空项目
先将上面Debug的X86改成X64,Opencv4.0官方不提供X86的了,如果需要应该可以自己cmake一下(没试过,不负责任的乱说的)。
然后找到属性管理器,界面上找不到的在上面“视图”栏里面倒数第二个。打开Debug|X64。
接下来可以根据方法一和方法二设则全局或者单独项目配置
- 方法一:
双击“Microsoft.Cpp.x64.user”打开属性页; - 方法二:
右键“Debug|X64”,选择“添加新项目属性表”,输入名字点确定即可。(这个名字建议具有明确的意义,比如我的OpenCV420DebugX64
)
同样也可以设置一个Release版
3.3 配置inlcude目录
双击属性页OpenCV420DebugX64
,接下来开始配置目录 INCLUDE
双击属性表,在通用属性—>VC++目录—>包含目录中添加:...opencv\build\include
...opencv\build\include\opencv2
这样就可以找到OpenCV的头文件了,接下来再把静态库设置一下就可以了
3.4 配置静态库
配置LIB也就是静态库,就是把编译好的一些执行程序段复制到我们生成的程序里,与动态库恰恰相反,静态库可以保证我们的程序移植到没有安装OpenCV的机器上能够顺利运行
在通用属性—>VC++目录—>库目录中添加:
...opencv\build\x64\vc15\lib
在通用属性—>链接器—>输入—>附加的依赖项中添加:
opencv_world420d.lib
// 这行如果是在Release下也没有必要添加,带d的是Debug下使用的
opencv_world420.lib
其他版本按照自己的版本号更改数字“420”为自己对应的版本即可(420意为4.20版本)。
Debug模式设置完了不要忘记Release模式也设置一边哦,不然到时候使用Release的时候就尴尬了至此,VS2017配置Opencv4.2就算是搞定了,用方法一配置属性表的,每次创建新工程都可以不用再配置,可以直接使用。用方法二配置属性表要注意:
打开工程目录文件夹,可以看到刚刚自己设置的配置文件
这就是我们配置的属性表,你在今后每一次新建同样的OpenCV工程的时候都需要将其复制到新工程对应的这个文件夹中。
然后再新工程的属性管理器中右键“Debug|X64”(或者属性表对应的那一个文件夹)选择“添加…”
然后再新工程的属性管理器中右键“Debug|X64”(或者属性表对应的那一个文件夹)选择“添加…”,
就可以了
4.测试OpenCV
上述步骤完成后,就可以再项目里使用OpenCV了
我们写一个简单的读取图像小程序测试一下
可以看到代码提示已经开启成功了
#include <iostream>
#include <opencv2/opencv.hpp>>
int main(int argc, char* argv[]) {
/* Read IMG.*/
cv::Mat src = cv::imread("D://code//project//GraduateDesigin2020//TestPic//lena.jpg");
/* Show IMG.*/
cv::imshow("Lena", src);
/* Convert to grey.*/
cv::Mat gray;
cv::cvtColor(src, gray, 6);
cv::imshow("Gray Lena", gray);
cv::waitKey(0);
return 0;
}
看看Lena奶奶
大功告成,去CHH看点小姐姐压压惊