这学期计算机视觉的课程老师让安装OpenCV,因为之前已经装了VS2017,就直接在VS2017上配置了。
写这个博客,主要是因为我在上大一的C++课,有点无聊。。。
安装之前听说这个挺麻烦的,老师说最好装2.4.9版本的,就先下了2.4.9版本,看了很多教程,有的说要用Cmake重新编译一下,有的说不用,反正用与不用都试了,最后也没有成功。。。可能是我开始配置的时候还不太清楚,中间过程出了问题吧,反正也不知道哪里出了问题,后来都卸掉了,装了OpenCV3.4.1。
接下来进入正题,VS2017去官网上下载,可能有点慢,勾选两个和C++相关的项,然后安装;
官网上下载OpenCV,选择Win pack
首先将路径加入环境变量,加入的是...\opencv\build\x64\vc15\bin,环境变量的打开可以通过控制面板,进入系统->高级系统设置->环境变量->系统变量->path,一路点击确定关闭
打开VS2017,选择视图->其它窗口->属性管理器,可以看到有四种模式,我们老师说用Debug|Win32的比较好,但是我用的是Debug|x64;
选择一个你想要的模式,目前我觉得选择哪一个都无所谓,重点是随后的步骤中模式一定要匹配,不然就报各种错误,我选择的是Debug|x64
点开后如下图
在VC++目录中选择包含目录,添加安装的OpenCV的几个路径,包括下图前三个:
D:\test\opencv\build\include;
D:\test\opencv\build\include\opencv;
D:\test\opencv\build\include\opencv2;
在VC++目录中选择库目录,添加安装的OpenCV的路径,如下图:
D:\test\opencv\build\x64\vc15\lib;
在链接器->输入中添加,如下图所示:
opencv_world341d.lib
上面步骤都完成后,可以开始新建项目,选择Windows控制台程序
如下图所示:
可以赋值一段简单的代码进行测试:(imread是读出图片,imshow显示图片,这里要注意imread的路径问题,我开始是用了绝对路径总是报错,后来将图片放在项目cpp同一级文件夹下就成功了)
#include<opencv2\opencv.hpp>
using namespace cv;
int main()
{
Mat picture = imread("test1.jpg");
imshow("test", picture);
waitKey(0);
return 0;
}
此处的重点是要选择和刚才配置一样的模式 Debug|x64:
可以运行试一下,如果出现无法打开源文件Opencv ...的问题,可以检查一下模式是不是选择正确,点击x64框中的小三角,选择
配置管理器,如下图,全部改成 Debug|x64模式
如果大家的代码不一样,可能会有#Include<stdafx.h>有时候也会报错无法打开源文件stdafx.h,这个解决方案就是选择
项目->(最下面的)属性->C/C++预编译头选择不使用预编译头,这一步我是每次新建一个项目都操作一次,网上说使用预编译头是为了加快速度之类的,所以我就没有在总的属性配置里面改,当然我觉得也可以
大家也可以选择在属性页中改,如下图所示:
这大概就是我安装过程中遇到的问题,我觉得OpenCV3.x的版本和VS2017已经适配了,不用Cmake的话问题应该不是很大,主要问题还是在于VS的配置问题,多查查资料应该都可以解决的吧