visual studio/anaconda & openCV环境配置

实验环境

win7/win10 + vs2013/vs2015 + opencv345

VS2015安装

vs2015安装界面选择自定义安装,注意选择Visual C++语言
在这里插入图片描述
其他部分酌情根据需要选择。

openCV安装

  1. OpenCV下载地址:https://opencv.org/releases.html
    这里使用的是3.4.5
  2. pack下载完成后,双击打开进行安装(其实更像解压)
  3. 选择安装目录,这里使用的是D:\
  4. 安装完成后在D盘目录下出现一个新文件夹opencv
    在这里插入图片描述
    安装完毕之后,在其安装目录下可以看到两个文件夹:build和sources,其中build是OpenCV使用时要用到的一些库文件,而sources中则是OpenCV为我们提供的一些demo示范源码:

opencv与VS配置环境变量

系统环境变量配置

简要说明:
我的电脑—>属性—>高级系统设置—>环境变量
系统添加环境变量:D:\opencv\build\x64\vc14\bin到PATH

上面步骤只是完成了安装,但是要能够正常使用OpenCV来进行开发,我们还需要进行环境变量的配置,我的电脑—>属性—>高级系统设置—>环境变量,找到Path变量,选中并点击编辑.

64位系统的需要在path添加;opencv安装路径\build\x64\vc14\bin(注:英文输入法中的“;”是分割符,用于与前面其他软件的配置参数分开),例如我的配置参数应该为:;D:\opencv\build\x64\vc14\bin。在之前的opencv版本中的配置时,32位系统应配置路径;opencv安装路径\build\x86\vc14\bin,但是3.4.5版本的OpenCV已经将x86这个目录删除了,也就是说在VS 2015环境下不能进行32位的OpenCV编译。

还有一个要注意的就是x64文件夹下分为vc12和vc14两个文件夹,他们对应于VS的版本,例如VS2013应使用vc2012,而这里我们使用的是VS 2015,所以应该使用vc14文件目录D:\opencv\build\x64\vc14\bin

补充:vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013,vc14 = Visual Studio 2015

注意:环境变量配置完毕之后,需要重启电脑才能生效!

Anaconda配置:

之前电脑上已在C:\ProgramData\目录下安装了anaconda(python3.7),若想在python中调用刚刚安装的OpenCV,则需要做以下准备:

  1. 安装相关的包(numpy, matplotlib)
  2. D:\opencv\build\python\cv2\python-3.7目录下的cv2.cp37-win_amd64.pyd文件复制到C:\ProgramData\Anaconda3\Lib\site-packages目录下
  3. 测试导入opencv:import cv2cv2.__version

VS 2015配置:

我们知道要在VS中使用外部的类库的话,需要进行引入的一下配置,这个配置就包括:外部库目录指定外部包含文件指定

  • 打开VS 2015,新建一个空白的win32的控制台工程
  • 选择语言为C++,Win32类型中的控制台工程,并设置工程名称
  • 指定建立的工程为空白工程
  • 建立完工程之后,我们选中解决方案栏中的Resource Files目录(即源码目录),然后新建一个C++源码文件:
  • 设置源码的文件名,例如:Main,然后创建此源码文件到工程中:
  • 在VS中有个叫做“属性管理器”的工具,用于进行VS整体参数的配置,配置一次之后,以后所有新建项目都能应用改配置,不用再一一进行配置操作,使用起来也非常方便。点击工具栏中的:View—>Other Windows—>Property Manger打开属性管理器
  • 在新出现的属性管理器栏中,展开目录,选中Debug|Win64中的Microsoft.Cpp.x64.user,双击或右键点击属性进入属性界面:

1)配置包含目录:

    在通用属性(Common Properties)—>VC ++目录—>包含目录,然后点击右侧三角标志选中Edit进入编辑:



    向其中添加下面三个路径:
    E:\OpenCV\opencv\build\include
    E:\OpenCV\opencv\build\include\opencv
    E:\OpenCV\opencv\build\include\opencv2

2)配置库文件目录:

    完成上面的包含目录配置之后,我们还需要进行库文件的配置:回到属性界面,选择包含目录下面的Library Directories(库文件目录):



    向库文件目录下添加OpenCV的库文件目录:E:\OpenCV\opencv\build\x64\vc14\lib,这个目录根据每个人自己在第一步安装OpenCV中选择的目录进行选定:

3)配置动态链接库:

    我们可以查看步骤2)中添加的库文件目录下面.lib文件列表,发现在3.1.0版本的OpenCV中,仅剩下两个库文件,分别是:opencv_world310.lib和opencv_world310d.lib,这里两个库文件的区别就是:opencv_world310.lib是Release模式版本,而opencv_world310d.lib是Debug模式版本:

    

    跟上述两个步骤相似,在属性界面中打开Linker(链接库)—>Input(输入)—>Additional Dependencies(添加依赖):



    将我们刚刚在OpenCV库文件目录下看到的两个库文件其中一个添加到这里(根据模式需求Release模式或Debug模式):

    

    其实,对已经发行和未来即将发布的新版OpenCV,只需看opencv\build\x86\vc10\lib下的库是哪几个,添加成依赖项就可以了。

三、实践:

在完成了上述所有配置工作之后,我们需要进行一次实测,用于验证以上配置是否成功。这里我们的测试demo功能很简单,就是在一个窗口中显示我们指定的一张图片。在之前的Main.cpp文件中添加以下代码:

复制代码
#include
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main(){
// 读入一张图片(游戏原画)
Mat img = imread(“pic.jpg”);
// 创建一个名为 "游戏原画"窗口
namedWindow(“游戏原画”);
// 在窗口中显示游戏原画
imshow(“游戏原画”, img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
复制代码
将图片pic.jpg复制到工程目录下面,与源码位于同一目录:

运行工程,假如一切都正常的话,会出现如下结果:

四、可能出现的问题:

1.运行程序时,发现编译不通过,报一下错误:

这个错误出现的原因是:我们之前说过在VS 2015中不能进行32位的OpenCV的编译,而且我们整个配置过程都是针对于64位系统而进行的,那么我们要如何才能让VS 2015运行64的调试模式呢,其实很简单,在工具栏中切换一下就好:

2.无法加载图片,提示指针越位:

出现这个问题一般可能有两个原因:

一是图片后缀名不对或者是目录存放位置不正确;

二是属性配置中的动态库配置中,带d和不带d的两个库文件配置情况与当前调试模式不对应,可以在解决方案中直接选中当前工程,右键进入属性面板,然后修改其Linker中的Additional Dependencies:

参考自:https://www.cnblogs.com/linshuhe/p/5764394.html

遇到的问题

1. vs2013新建项目配置64位

VS2013新建的项目默认是以32位运行的,而opencv3.45仅支持64位。因此,需要进行如下设置:
视图——其他窗口——属性管理器
vs2013新创建的项目属性管理器视图如下:
在这里插入图片描述
选择debug下的配置管理器
在这里插入图片描述
在活动解决方案平台下选择新建:
在这里插入图片描述
键入或选择新平台处选择x64:
在这里插入图片描述
确定之后可以看到当前项目的属性管理器已经更新:
在这里插入图片描述
参考自:https://blog.csdn.net/ture_dream/article/details/52600897

2. vs2015安装C++语言包卡在最后一步

在这里插入图片描述
最后一步卡了一个多小时
我的解决方法:

  1. 通过任务管理器强制结束vs_professional进程(不占内存的那个)
  2. 安装界面提示安装错误并结束
  3. 重启电脑
  4. vs2015安装程序自动启动,并提示我更新,点右上角的叉号关掉
  5. 打开vs2015,发现可以正常创建C++项目,但编译过程中提示找不到stdio.h等文件
  6. 下一部分解决该问题
    参考:https://tieba.baidu.com/p/4219050304?pn=2

3. vs2015提示缺少stdio.h等文件

打开视图——其他窗口——属性管理器
在这里插入图片描述
Debug | x64为例:

  1. 双击Debug|Win64中的Microsoft.Cpp.x64.user打开属性页
  2. vc++目录–>包含目录–>编辑
  3. 添加include地址C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt(目录可能有略微不同)
  4. vc++目录–>库目录–>编辑
  5. 添加lib地址C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x64(目录可能略微不同,这里使用Debug 64编译模式,选择x64,32位选择x86)
  6. 可正常运行C++程序
    参考自:https://jingyan.baidu.com/article/8ebacdf0167b2249f65cd5eb.html

4. 编译运行时提示缺少opencv_world345d.dll

类似问题:提示缺少opencv_world345.dll 其中345为版本号,其他版本操作方法一样。

  1. 在opencv安装目录(这里是D:\)下找到对应动态链接库文件:D:\opencv\build\x64\vc14\bin\opencv_world345.dllD:\opencv\build\x64\vc14\bin\opencv_world345d.dll
  2. 将这两个文件复制粘贴到C:\Windows\System32或者C:\Windows\SysWOW64

猜你喜欢

转载自blog.csdn.net/qq_36297936/article/details/87711550