(win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
(win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
1.下载opencv 官网http://opencv.org/下载windows版OpenCV,下载后解压,我的路径为D:\Program Files\soft\opencv\OpenCV-PC-sdk, 解压完成后,会在该路径下生成一个名为opencv的文件夹,它包含两个子文件夹,分别为build(支持opencv使用的相关文件目录)和sources(opencv源码目录) 2.配置环境变量 【计算机】->【(右键)属性】->【高级系统设置】->【环境变量】->(双击)系统变量中的PATH->`【新增】->(添加对应路径)D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\bin 3.Visual Studio中工程包含(include)目录的配置 (双击)打开Visual Studio-> 【起始页】->【新建项目】或依次点击菜单栏中的【文件】->【新建】->【项目】-> Visual C++下的【Win32控制台应用程序】,项目名比如HelloOpenCV,选好保存路径->单击【确定】-> 【Win32应用程序向导】->选中【控制台应用程序】并勾选【空项目】->单击【完成】-> 解决方案资源管理器的【源文件】处右键单击->添加->新建项->选中【C++文件(.cpp)】,进行命名,比如“main.cpp”->单击【添加】-> main.cpp中录入以下代码,Ctrl+S保存-> #include <opencv2/opencv.hpp> using namespace cv;
int main() { // 载入图像 Mat _img = imread("1.png"); // 显示图像 imshow("Hello OpenCV", _img); // 表示等待任意按键按下后关闭窗口 waitKey(0); // 表示6秒后自动关闭窗口 //waitKey(6000); return 0; }
我的电脑浏览到项目目录,将1.png图片放到项目下HelloOpenCV/HelloOpenCV目录下(即main.cpp同级目录)-> 回到解决方案资源管理器【源文件】处右键->单击【添加】->【现有项】->选择1.png->【添加】-> 5.导入opencv库相关配置,方案一 【视图】->【其他窗口】->【属性管理器】打开属性页窗口,该窗口进行配置相当于通用配置,以后新建的工程不用再次配置-> 在【Debug|x64】下的【Microsoft.Cpp.x64.user】处右击或双击->【通用属性】->【VC++目录】->【包含目录】-> 添加如下目录(注意,路径要与自己自解压路径相同。我的opencv解压目录是D:\Program Files\soft\opencv\OpenCV-PC-sdk\) D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv2 D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include ->单击【应用】,不要关闭该页,下面还需要-> 【VC++目录】->【库目录】->添加D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib这个路径->单击【确定】关闭该页,此时完成部分通用设置-> 【Debug|x64】处右击->【添加新项目属性表】->命名为"OpenCV_debug.props"->选择保存目录(我的是D:\workspace\visual studio 2015\opencv\myprops,该目录需要提前创建好)->点击【添加】->此时【Debug|x64】栏下生成了名为OpenCV_debug的属性表文件 【OpenCV_debug】处右击(或双击)->【链接器】->【输入】->【附加依赖项】-> 添加如下含d的lib(路径在D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib下) opencv_world330d.lib 添加后单击【确定】->关闭窗口-> 同理在【Release|x64】处右击->【添加新项目属性表】,创建名为OpenCV_release的属性表文件,保存到OpenCV_debug同一个目录即可 【OpenCV_release】处右击(或双击)->【链接器】->【输入】->【附加依赖项】-> 添加如下不含d的lib(路径在D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib下) opencv_world330.lib 单击【确定】关闭窗口->此时所有配置全部ok,重启Visual Studio2015即生效
至此,不管是Debug模式还是Release模式都能正常编译运行.运行时,默认是x86,不要忘记改成x64(运行按钮旁边的下拉框) 新建项目也不用重新设置即可生效,只要创建新项目后->【视图】->【其他窗口】->【属性管理器】-> 【Debug|x64】和【Release|x64】右击->【添加现有属性表】->分别将对应的属性表浏览到添加进来即可(只想在某一种模式中编译运行,只添加对应的就好)
步骤5.导入opencv库相关配置,方案二(【Debug|x64】下的【Microsoft.Cpp.x64.user】文件中不进行任何配置) 【视图】->【其他窗口】->【属性管理器】打开属性页窗口,该窗口进行配置相当于通用配置,以后新建的工程不用再次配置-> 【Debug|x64】处右击->【添加新项目属性表】->命名为"OpenCV_debug.props"->选择保存目录(我的是D:\workspace\visual studio 2015\opencv\myprops,该目录需要提前创建好)->点击【添加】->此时【Debug|x64】栏下生成了名为OpenCV_debug的属性表文件 【OpenCV_debug】处右击(或双击)->【通用属性】->【VC++目录】->【包含目录】-> 添加如下目录(注意,路径要与自己自解压路径相同。我的opencv解压目录是D:\Program Files\soft\opencv\OpenCV-PC-sdk\) D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv2 D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include ->单击【应用】,不要关闭该页,下面还需要-> 【VC++目录】->【库目录】->添加D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib这个路径->单击【应用】不要关闭该页,下面还需要-> 【链接器】->【输入】->【附加依赖项】-> 添加如下含d的lib(路径在D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib下) opencv_world330d.lib 添加后单击【确定】->关闭窗口,此时完成Debug模式的配置-> 同理【Debug|x64】处右击->【添加新项目属性表】->命名为"OpenCV_debug.props"->选择保存目录(我的是D:\workspace\visual studio 2015\opencv\myprops,该目录需要提前创建好)->点击【添加】->此时【Debug|x64】栏下生成了名为OpenCV_debug的属性表文件 【OpenCV_debug】处右击(或双击)->【通用属性】->【VC++目录】->【包含目录】-> 添加如下目录(注意,路径要与自己自解压路径相同。我的opencv解压目录是D:\Program Files\soft\opencv\OpenCV-PC-sdk\) D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv2 D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include ->单击【应用】,不要关闭该页,下面还需要-> 【VC++目录】->【库目录】->添加D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib这个路径->单击【应用】不要关闭该页,下面还需要-> 【链接器】->【输入】->【附加依赖项】-> 添加如下含d的lib(路径在D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib下) opencv_world330d.lib 同理【Release|x64】处右击->【添加新项目属性表】->命名为"OpenCV_release.props"->选择保存目录(我的是D:\workspace\visual studio 2015\opencv\myprops,该目录需要提前创建好)->点击【添加】->此时【Debug|x64】栏下生成了名为OpenCV_release的属性表文件 【OpenCV_release】处右击(或双击)->【通用属性】->【VC++目录】->【包含目录】-> 添加如下目录(注意,路径要与自己自解压路径相同。我的opencv解压目录是D:\Program Files\soft\opencv\OpenCV-PC-sdk\) D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv2 D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include\opencv D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\include ->单击【应用】,不要关闭该页,下面还需要-> 【VC++目录】->【库目录】->添加D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib这个路径->单击【应用】不要关闭该页,下面还需要-> 【链接器】->【输入】->【附加依赖项】-> 添加如下不含d的lib(路径在D:\Program Files\soft\opencv\OpenCV-PC-sdk\opencv\build\x64\vc14\lib下) opencv_world330.lib 单击【确定】关闭窗口->此时所有配置全部ok,重启Visual Studio2015即生效
方案一和方案二优缺点: 方案一:【包含目录】、【库目录】、【附加依赖项】只要在【Microsoft.Cpp.x64.user】配置一次即可。方案二需要重复配置 方案二:虽然配置稍微繁琐,但是新建项目导入两个属性表就具备opencv库,就可开发opencv项目,不导入两个属性表就是普通项目,相对方案一更灵活,方案一即使不导入两个属性表,项目也会包含部分opencv的配置(因为【Microsoft.Cpp.x64.user】中有一部分公共配置)
补充:
1.Visual Studio 2015不允许【Debug|Win32】和【Release|Win32】编译,所以【视图】->【其他窗口】->【属性管理器】中不用设置这2项 vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013,vc14 = Visual Studio 2015
最新文章
- Winform在线更新
- java轻量级Http Server
- 简单粗暴下载Spring
- (转)c#.net常用字符串函数
- Linux信号处理1
- Window Ghosting(仍可拖动失去响应的窗口,因为我们真正的窗口已经让系统用Ghosting窗口替代了。使用IsHungAppWindow 探测)
- oschina iOS代码库
- acm课程练习2--1001
- 修复关于apache-xampp的问题:Port 443 in use by “vmware-hostd.exe”!
- struts1实现简单的登录功能(附源码)
- php中memcache的运用
- 2_http协议详解
- bzoj 1082: [SCOI2005]栅栏
- oc初步画图
- Linux服务器密钥安全登录
- hpu 1267 Cafeteria (01背包)
- Hive学习之路 (十九)Hive的数据倾斜
- mongodb学习(二)
- [SoapUI] 如何让某个步骤的Assertion失败之后继续执行后面的步骤
- 【js】Object.prototype.hasOwnProperty()
热门文章
- 哈尔滨理工大学第六届程序设计团队 I-Team
- float 浮动
- 移动端车牌识别sdk开发包(可下载)
- oracle导入TYPE对象报错ORA-02304
- 解决autocad闪退
- 【S】SQL SERVER检查临时表占用空间情况
- Maven工程下报错:The superclass ";javax.servlet.http.HttpServlet"; was not found on the Java Build Path
- Nodejs学习笔记(十六)--- Pomelo介绍&;入门
- [最短路]P1339 [USACO09OCT]热浪Heat Wave
- LuaJavaBridge - Lua 与 Java 互操作的简单解决方案