opencv安装
vs2017自带了包管理插件NuGet,通过模拟power shell可通过命令行一句安装,装库非常方便
1.打开虚拟power shell
2.安装opencv3.0
Install-Package opencv3
自己安装直到完成,和brew用起来一样舒服,大概用时3分钟
NuGet安装移除包均非常方便,对常见的指令可输入
get-help NuGet查询
3.测试
给出一个简单的打开摄像头的例子
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
#define WAITKEY_DELAY 30
#define CAMERA_DEVICE 0
int main(void)
{
VideoCapture captureDevice(CAMERA_DEVICE);
if(!captureDevice.isOpened())
return -1;
Mat edges;
namedWindow("edges", 1);
for(;;)
{
Mat frame;
captureDevice >> frame;
cvtColor(frame, edges, COLOR_BGR2GRAY);
imshow("edges", edges);
auto key = waitKey(WAITKEY_DELAY);
if(key >= 0)
break;
}
}
注意:
此时opencv是安装到当前项目,如果建立了新项目仍要包含opencv,同样在powershell中输入下面指令,此时不再下载opencv,而是直接安装到当前项目,用时3秒左右。
Install-Package opencv3
如果直接正常运行就可以进行其它开发,出错的请看下文
无法解析的外部符号
如果出现了一堆LNK2019错误,如下图
打开项目-属性
再打开常规-平台工具集,可以看到默认的平台工具集为v141,v141目前还不支持opencv,可以替换为别的平台工具集如v140,v120等。
如果没有安装v140,v120等需要安装vs2015/vs2013,可以相互兼容,但不要自己随便卸载,出错会很麻烦
也就是vs2017目前可以用来写opencv代码,但是编译运行必须改为v140或v120等。目前还没有很好的便捷解决方案,如果一定要用v141,可以使用cmake构建以支持vs2017,比较麻烦,有兴趣的可以自己找找,建议还是等等出更好的解决方案吧。
再编译,运行
注:如果提示无法查找或打开PDB
- 1.工具->选项->调试->符号->勾选符号服务器
- 2.工具->选项->调试->常规->启用源服务支持