vs2015无法打开头文件 OpenCV头文件加载问题。

【opencv第一篇】安装opencv以及配置(vs2015 & Python3.5) - 简书
【opencv第一篇】安装opencv以及配置(vs2015 & Python3.5)
本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子。
opencv的下载
下载完成后,双击运行exe,选择输出目录,我选择的是D:\opencv。然后解压缩就完成了安装。安装过程如下图所示:
安装完毕之后,在其安装目录下可以看到两个文件夹:build和sources,其中build是OpenCV使用时要用到的一些库文件,而sources中则是OpenCV为我们提供的一些demo示范源码:
在电脑中配置opencv
上面步骤只是完成了安装,但是要能够正常使用OpenCV来进行开发,我们还需要进行环境变量的配置,在“控制面板”选择“系统”(此时把桌面图标改成大图标比较好找~),右击弹出“系统属性”对话框,选择“高级”再点击“环境变量”,找到Path变量,选中并点击编辑:
64位系统的需要在path添加“;opencv安装路径\build\x64\vc14\bin”(注:英文输入法中的“;”是分割符,用于与前面其他软件的配置参数分开),例如我的配置参数应该为:;E:\OpenCV\opencv\build\x64\vc14\bin。在之前的opencv版本中的配置时,32位系统应配置路径“;opencv安装路径\build\x86\vc14\bin”,但是3.1.0版本的OpenCV已经将x86这个目录删除了,也就是说在VS 2015环境下不能进行32位的OpenCV编译。 还有一个要注意的就是x64文件夹下分为vc12和vc14两个文件夹,他们对应于VS的版本,例如VS2013应使用vc12,而这里我们使用的是VS 2015,所以应该使用vc14文件目录:
补充:vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013,vc14 = Visual Studio 2015VS 2015配置:
我们知道要在VS中使用外部的类库的话,需要进行引入的一下配置,这个配置就包括:外部库目录指定和外部包含文件指定。
打开VS 2015,新建一个空白的win32的控制台工程:
选择语言为C++,Win32类型中的控制台工程,并设置工程名称:
指定建立的工程为空白工程:
建立完工程之后,我们选中解决方案栏中的Resource Files目录(即源码目录),然后新建一个C++源码文件:
设置源码的文件名,例如:Main,然后创建此源码文件到工程中:
在VS中有个叫做“属性管理器”的工具,用于进行VS整体参数的配置,配置一次之后,以后所有新建项目都能应用改配置,不用再一一进行配置操作,使用起来也非常方便。点击工具栏中的:View—&Other Windows—&Property Manger打开属性管理器:
在新出现的属性管理器栏中,展开目录,选中Debug|Win64中的Microsoft.Cpp.x64.user,并右键点击属性(Properties)进入属性界面:
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 &iostream&
#include &opencv2/core/core.hpp&
#include &opencv2/highgui/highgui.hpp&
int main()
// 读入一张图片(游戏原画)
Mat img = imread("pic.jpg");
// 创建一个名为 "游戏原画"窗口
namedWindow("游戏原画");
// 在窗口中显示游戏原画
imshow("游戏原画", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
运行工程,假如一切都正常的话,会出现如下结果:
四、可能出现的问题:
1.运行程序时,发现编译不通过,报一下错误:
这个错误出现的原因是:我们之前说过在VS 2015中不能进行32位的OpenCV的编译,而且我们整个配置过程都是针对于64位系统而进行的,那么我们要如何才能让VS 2015运行64的调试模式呢,其实很简单,在工具栏中切换一下就好:
2.无法加载图片,提示指针越位:
出现这个问题一般可能有两个原因:一是图片后缀名不对或者是目录存放位置不正确;二是属性配置中的动态库配置中,带d和不带d的两个库文件配置情况与当前调试模式不对应,可以在解决方案中直接选中当前工程,右键进入属性面板,然后修改其Linker中的Additional Dependencies:
在python3.5中试用opencv
最近在的官方文档上看到一个人脸识别的示例代码,想要实现。由于我之前下好的OpenCV3.1中并不自带相关的函数,即opencv2/contrib/contrib.hpp这个文件找不到。需要下载一个contrib的扩展包,然后再用cmake进行编译,最终才能使用。我按照某个博客上的内容()试了一个下午,最后也没有完成,反正遇到了各种问题,最后放弃了。 于是,就去官网上下了一个OpenCV2.4.13,重新配置,也是搞了好久,最后才能使代码顺利运行,虽然最后还是出了一个不知道如何解决的bug。 为什么非要在vs2015上用C++写关于OpenCV的东西呢?于是我想到,正所谓人生苦短,我用Python。至于在python中使用OpenCV,目前我知道的途径有两个,一个是在opencv文件夹里面的python文件夹里面的某个文件(就是最底下的那个cv2.pyd文件)拷贝到python文件夹里面的某个地方(根据自己安装python的位置)。
这里写图片描述
这里写图片描述
一向喜欢方便的我,看到这个就很烦,再说,OpenCV3.1里面貌似只支持2.7的python,于是就找到了第二个方法。即用pip去安装。 于是按照网上的博客,需要在这个网站里面下相关的whl文件(顺便强势安利一下这个神奇的网站):
这里写图片描述
由于我的电脑是64位的,我之前安装过python3.5,所以我就选择了opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl这个文件,(因为OpenCV3.0以上的版本有些函数需要融入contrib这个扩展包才行,所以要下带有contrib的这个whl文件)。 下好后,我就开始在cmd中安装了,这样:pip install opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl
但是安装不了,很是纳闷,后来又去下了个32位的opencv_python-3.2.0+contrib-cp35-cp35m-win32.whl,最后终于装好了。我猜测可能我当初下的python是32位的,并不和系统的位数相关吧~
这里写图片描述
需要注意的是,在安装这个cv2之前,要保证已经装好了numpy,由于我的python里面之前装过,所以这边就省略这个步骤了。下面就开始起飞了!在sublime里面编辑如下:
import cv2
img =cv2.imread('Building.bmp',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
最后终于成功显示图像了
这里写图片描述31被浏览2403分享邀请回答151 条评论分享收藏感谢收起2添加评论分享收藏感谢收起查看更多回答31被浏览2403分享邀请回答151 条评论分享收藏感谢收起2添加评论分享收藏感谢收起查看更多回答sponsored links
VS2015+OpenCV3.0配置教程
最近更新了一下VS2015,发现原来使用的VS2013配置的OpenCV2.4.9无法使用了,网上关于VS2015中配置OpenCV3.0的方法极少,有部分初学者问到便在此写一下,当做初学者的参考。所以索性把OpenCV也更新到3.0了。值得一提的是,虽然VS更新到2015版本了,但对于OpenCV3.0来说,只编译了VC11和VC12两个版本,下面是配置过程。第一步:下载OpenCV3.0。
附上下载链接:http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-win/3.0.0/opencv-3.0.0.exe
大概275M左右的一个exe安装程序,双击解压到自己的目录接近2.6G。如:第二步:配置OpenCV的系统路径。依次操作为:此电脑(WIN10)—&(右键)属性—&高级系统设置—&环境变量,选择(系统变量)Path文件夹(如没有则新建系统变量,变量名Path),填上OpenCV3.0的Bin目录(为方便把build文件夹下面的x86和x64两个平台的bin都加上吧):D:\OpenCV
Library\OpenCV3.0\opencv\build\x86\vc12\D:\OpenCV Library\OpenCV3.0\opencv\build\x64\vc12\bin(注意:每一条路径之间有英文分号 ; 隔开,路径前缀依据自己OpenCV解压路径设置,本人解压到D:\OpenCV Library\OpenCV3.0\下,所以路径如上所示,以下涉及的磁盘路径均同理。)
添加路径后全部确定,重启计算机一次,确保配置的路径有效。第三步:创建测试项目。
打开VS2015,新建一个Win32控制台应用程序TestOpenCV3.0,在TestOpenCV3.0.cpp中添加代码:[cpp]&view
会发现一堆error提示符是吧,别急,还没给工程配置OpenCV编译库呢。(PS:代码中涉及到的Lena.jpg可自行拿一张图片放在工程文件夹TestOpenCV3.0\TestOpenCV3.0下面,并在代码中修改为对应的图片名和格式。)第四步:配置VS2015的OpenCV编译路径。
依次选择VS2015菜单栏--&视图--&其他窗口--&属性窗口
然后点击属性页符号,弹出属性页窗口:
(或者直接右键工程,选择属性,打开属性页)
(一)配置包含目录和库目录
在属性页,选择左侧配置属性--&VC++目录,编辑包含目录,设置三条路径:D:\OpenCV Library\OpenCV3.0\opencv\build\includeD:\OpenCV Library\OpenCV3.0\opencv\build\include\opencvD:\OpenCV Library\OpenCV3.0\opencv\build\include\opencv2
编辑库目录,这里可自行选择编译平台,由于我是64位Win10系统,这里就选择OpenCV3.0的x64目录,配置路径如下:D:\OpenCV Library\OpenCV3.0\opencv\build\x64\vc12\libD:\OpenCV Library\OpenCV3.0\opencv\build\x64\vc12\staticlib
(二)配置链接器输入依赖项。
OpenCV3.0在这里终于作出了人性化的一步改善,就是不再需要把臭长的lib项一个个粘贴到这里,估计被无数人吐槽其为反人类的操作,OpenCV3.0在此精简到了两项。具体操作为:
依次点击属性页的链接器--&输入,编辑附加依赖项,添加如下两项:opencv_ts300d.libopencv_world300d.lib
这两项就是目录\vc12\lib下面的不带d的文件名,注意添加时候不要忘了后缀.lib,否则编译或者运行时找不到依赖项。如图:第五步:运行工程测试效果。
如果第四步中是按照上述所示,配置的x64目录,那么请检查你创建的的测试工程TestOpenCV3.0当前的解决方案平台版本是否为x64,如下所示:
否则请点击下拉三角,选择配置管理器配置一个x64解决方案平台;如果按照x86目录配置OpenCV3.0,就按照默认的Win32或者x86平台不变。
在确保OpenCV3.0配置无误、解决方案平台选择了对应版本、且代码所需资源图片已放置到工程文件夹目录下之后,Ctrl+F5运行第三步中创建的工程TestOpenCV3.0。效果如图表示成功:
至此配置任务大功告成,希望有问题的一起探讨和指正。
【参考资源】教你如何在WIN 7 64位环境中配置vs2015+opencv
前言 本文在安装前已经配置好了spark1.3和hadoop2.6,因项目需求需要搭建tachyon,但是搭建过程中遇到了很多很多很多的问题,写下本文用来记录这一路上所踩过的坑
吐槽一句:tachyon的官方文档不是很完善啊,完全按照他的做肯定成功不了... 单节点安装 先说单点,单点搞定,集群就简单了
安装tachyon,官网(https://gith ...
小编的朋友所在单位新上了一台WEB服务器,软件只支持在TomCat下运行,这位朋友前来请教烈火小编,但是小编也不是太熟,于是查了一下资料,现在咱们一起来学习如何配置TomCat7.0吧. 一.安装JDK 1.7 1.JDK1.7下载地址:进入官方下载 烈火下载JDK1.7(Win-32Bit)频道 2.添加环境变量:在 我的电脑-&属性-&高级- ...
1.Tomcat 7.0 (请到官网下载)的免安装版的配置(假如将Tomcat 解压到C:\Program Files目录,目录结构为:C:\Program Files\apache-tomcat-7.0.37 1.添加环境变量:在 我的电脑-&属性-&高级-&环境变量 2.新建系统变量,变量名:CATALINA_HOME 变量值:C:\P ...
今天终于配置成功了caffe,花了我整整三天啊,fuck!不过我看一些blog,有的说花了半个月,我也就平衡了.废话少说,切入正题. 其实网上大部分教程是cuda6.5+opencv2.4.10,但近期如果下载cuda的话,只有cuda7.0,如果用openc2.10的话,编译opencv的时候就会报错,所以只能现在opencv3.0.用cuda7.0+op ...
(1) 目前最新的opencv库为opencv 3.0.0 库,其下载地址为:http://opencv.org/downloads.html Vs最新的可能达到了vs2015,考虑软件太大,且opencv中并没有对应vs2015版本的opencv,所以选择老一点版本的vs2010 (2) 下载完的opencv为exe文件,解压一下会出现两个文件夹如下: ( ...& & & & 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的,所以我就想着研究一下这个库,这里是个人的学习笔记,不是什么权威的教程,如果你们有错误也麻烦帮我指出哈。
=============================================分割线==================================================
& & 什么是OpenCV?可能还有人不清楚吧,简单地说,OpenCV&&Open Source Computer Vision Library,即开源计算机视觉库,它是基于C语言和部分C++语言来开发,可用于计算机视觉、图像处理以及模式识别和跟踪。
一、准备工作:
1.下载OpenCV安装包:
& & 到OpenCV的官网()下载最新版本的OpenCV安装包,由于OpenCV针对不同平台都有安装程序,所以我们只需要根据当前开发环境选择合适的平台版本即可,这里我们是在win7 64bit操作系统下进行开发,所以应该下载OpenCV for Windows:
& & 我们选择了当前的最新版本3.1,下载完毕后,我们得到其安装文件:opencv-3.1.0.exe
2.安装Visual Studio 2015
二、安装配置:
&& &双击打开下载好的opencv-3.1.0.exe文件,进行安装(其实是解压),选择安装目录:
& & 安装完毕之后,在其安装目录下可以看到两个文件夹:build和sources,其中build是OpenCV使用时要用到的一些库文件,而sources中则是OpenCV为我们提供的一些demo示范源码:
2.环境变量配置:
& & 上面步骤只是完成了安装,但是要能够正常使用OpenCV来进行开发,我们还需要进行环境变量的配置,我的电脑&&属性&&高级系统设置&&环境变量,找到Path变量,选中并点击编辑:
& & 64位系统的需要在path添加&;opencv安装路径\build\x64\vc14\bin&(注:英文输入法中的&;&是分割符,用于与前面其他软件的配置参数分开),例如我的配置参数应该为:;E:\OpenCV\opencv\build\x64\vc14\bin。在之前的opencv版本中的配置时,32位系统应配置路径&;opencv安装路径\build\x86\vc14\bin&,但是3.1.0版本的OpenCV已经将x86这个目录删除了,也就是说在VS 2015环境下不能进行32位的OpenCV编译。
& & 还有一个要注意的就是x64文件夹下分为vc12和vc14两个文件夹,他们对应于VS的版本,例如VS2013应使用vc2012,而这里我们使用的是VS 2015,所以应该使用vc14文件目录:
补充:vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013,vc14 = Visual Studio 2015
& & & &&注意:环境变量配置完毕之后,需要重启电脑才能生效!
3.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,并右键点击属性(Properties)进入属性界面:
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 &iostream&
#include &opencv2/core/core.hpp&
#include &opencv2/highgui/highgui.hpp&
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:
阅读(...) 评论()

我要回帖

更多关于 加载头文件 的文章

 

随机推荐