之前一直在使用VS2015,虽然看到VS2017发布了,但由于手头事情比较多,就没有尝试使用,最近突然看到Opencv4.0-alpha发布了,新版本中加入了很多人工智能和机器学习的内容,所以决定系统的学习一下Opencv4.0,正好就配置到VS2017上面,两个新东西一同学习了。
目前最新的Visual Studio版本是Visual Studio 2017 version 15.7 和 version 15.8 Preview 1。这里我配置的是15.8.8。电脑环境是Win10。
这里直接在微软官网下载即可。链接: https://visualstudio.microsoft.com/zh-hans/.
其中三个版本都可以选,Community 2017是免费社区版本,Professional 2017和Enterprise 2017是付费版,功能好像没有区别,我这里选择的是Professional版本。
付费版可以使用密匙激活,这里提供两个密匙,如果不能用了就网上找,很多的:
Professional 2017:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
Enterprise 2017:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF
VS2017的安装包不同于以前的版本,它提供了一个新的轻量化和模块化的安装体验,可根据需要量身定制安装,只有不到1MB大小。这只是一个引导程序(Web Installer),启动之后勾选需要的组件即可进行安装。
如果初学者并且没有其他特殊需求,选上Windows中的“.NET桌面开发”和“使用C++的桌面开发”以及最下面其他工具集中的“Visual Studio扩展开发”即可。不知道选什么也不要紧,留着这个安装包(严格来说不叫安装包),需要其他组件的时候随时可以添加。
在左下角改变安装路劲,默认是安装在C盘,当然,如果你的C盘足够大我也建议你安装在C盘,很明显博主是安装在D盘的。虽然安装在非系统盘,但是系统驱动器还是会装在C盘,这个是我们没法改变的(也就是任然会消耗一部分C盘空间)。有一种方法是可以添加一个链接,让系统那些东西不全都装在C盘,而是装在别的盘。我嫌太麻烦了没必要。
选好路劲之后右下角点击“安装”即可,这是我安装过之后再打开截的图,所以不是“安装”而是“修改”。
漫长的等待之后就安装好了,完了之后可能会需要重启,然后打开VS2017,来到这个页面:
开发设置选择C++,再选一个你喜欢的颜色,即可进入VS2017了。
如果是安装的专业版或者企业版的在这里输入密匙激活:帮助—>产品注册—>更改产品密匙。然后就大功告成啦!
同样也是在官方下载:链接: https://opencv.org/releases.html.
windows操作系统当然是下载Win pack版本就是了。
Opencv的安装过程其实就是解压过程,打开之后选择解压到哪里就是了。目录尽量避免中文路径。
接下来···就是最头疼的配置环境啦,哈哈哈哈哈哈哈哈哈嗝···
配置环境有两种,一是一劳永逸的方法,只用配置一次,之后每一次打开都是配置好了的;二是配置属性表,每一次新建一个工程都需要添加一次。
方法一好处是方便,劣势是如果你需要配置多个版本的Opencv以及其他的库,没法在多种环境之间切换,会有配置冲突导致程序报错的风险;
方法二和方法一相反,配置不同的属性页可以在你需要的时候之间选择你要的属性页即可,切换自如;缺点是每次新建工程都需要添加一次属性页。
个人推荐使用方法二,当然,二选一,别两个都选…
第一步配置环境变量:
计算机—>属性—>高级系统属性—>高级—>环境变量
找到“path”,双击。
点击“新建”,添加“…opencv4.0\build\x64\vc15\bin”,“…”为你的Opencv4.0解压(安装)目录,目录尽量避免中文路径,下文不再赘述。
这一步完成之后需要将电脑注销一下才能生效(不用重启)。
打开VS2017新建一个空项目,话说我第一次还真没注意到在哪,好一顿找···
输入名字,选择生成文件夹,然后选择“空项目”,直接确定就可以了。
确定之后就直接进到这个界面(可以看出流程比VS2015简化了太多了)。先将上面Debug的X86改成X64,Opencv4.0官方不提供X86的了,如果需要应该可以自己cmake一下(没试过,不负责任的乱说的)。
然后找到属性管理器,界面上找不到的在上面“视图”栏里面倒数第二个。打开Debug|X64。
接下来的步骤是上文提到两种配置方法唯一不同的操作:
方法一:
双击“Microsoft.Cpp.x64.user”打开属性页;
方法二:
右键“Debug|X64”,选择“添加新项目属性表”,输入名字点确定即可。(这个名字建议具有明确的意义,比如我的“Opencv400X64d”即Opencv4.0,X64 Debug版本。)
双击打开属性页:
双击属性表,在通用属性—>VC++目录—>包含目录中添加:
...opencv4.0\build\include
...opencv4.0\build\include\opencv2
没有了以前的“…opencv4.0\build\include\opencv”这一条。
然后是添加lib目录,在通用属性—>VC++目录—>库目录中添加:
...opencv4.0\build\x64\vc15\lib
注:有读者指出我这里图给错了,确实是我疏忽加错了(笔记本上没有装,就不重新截图了),图中路径应该是…\vc15\lib而不是…\vc14\lib。我这里说说vc版本和VS版本的对应关系:(不过貌似现在兼容性做得还可以,加错了也不影响,比如有时候遇到别人自己编译的库没有你对应的vc版本,只要版本号不是相差太多一般都可以用)
vc 6 : VS 6
vc 7 : VS 2003
vc 8 : VS 2005
vc 9 : VS 2008
vc 10: VS 2010
vc 11: VS 2012
vc 12: VS 2013
vc 14: VS 2015
vc 15: VS 2017
在通用属性—>链接器—>输入—>附加的依赖项中添加:
opencv_world400d.lib
opencv_world400.lib
其他版本按照自己的版本号更改数字“400”为自己对应的版本即可(400意为4.00版本)。
至此,VS2017配置Opencv4.0就算是搞定了,用方法一配置属性表的,每次创建新工程都可以不用再配置,可以直接使用。用方法二配置属性表的朋友注意一下:
打开工程目录:
D:\C_VS_project\VS2017_project\Project3\Project3
其中“Project3”为你工程的名字,每个根据自己的情况寻找目录。这个文件夹下有个“Opencv400X64d.props”文件,这就是我们配置的属性表,你在今后每一次新建工程的时候都需要将其复制到新工程对应的这个文件夹中。
然后再新工程的属性管理器中右键“Debug|X64”(或者属性表对应的那一个文件夹)选择“添加…”,
他会自动定位到这个文件夹,选中这个属性表添加即可。
环境配完了尝试一下可不可以运行,测试一下:在解决方案管理器中右键“源文件”,添加一个main.cpp。
测试代码:
#include
using namespace cv;
int main()
{
//读取图片(使用图片的绝对路径)
Mat src = imread("E://T_image//01.jpg");
//显示图片
imshow("Output",src);
//显示灰度图
Mat Gray;
cvtColor(src, Gray, 6);
imshow("Gray",Gray);
//不加此语句图片会一闪而过
waitKey(0);
return 0;
}