VS2013怎么配置opencv才能不用每次都重新配置一遍?

来源:互联网 发布:修改图片软件 编辑:程序博客网 时间:2024/05/21 09:18

35 个回答

让曾经也是小白的我来写一个VS一次配置永久使用OpenCV终极小白教程:
说白了就是将VS第一次配置OpenCV的项目属性表保存下来,每次新建项目时引用即可。

目录
  1. 解压OpenCV
  2. 配置系统环境变量
  3. 创建VS新项目
  4. 添加项目属性表
  5. 配置项目属性表
  6. 引用项目属性表


声明:
  1. 以下展示内容,配置方案为OpenCV2.4.9+VS2013+win10+x64,但方法适用于OpenCV2.4.8、OpenCV2.4.9、OpenCV2.4.10,适用于win7、win8.1、win10,适用于x64和x84(下面会讲解如何对应修改)。如果问为什么适用?因为我都试过啊~
  2. 会一次性配置的知友请直接看第四部分和第六部分,因为其余部分跟一次性配置是一样的。

一、解压OpenCV
比如本人解压在G盘根目录下
<img src="https://pic1.zhimg.com/50/d6135179281f46ce18ff9a6209d380d0_hd.png" data-rawwidth="821" data-rawheight="534" class="origin_image zh-lightbox-thumb" width="821" data-original="https://pic1.zhimg.com/d6135179281f46ce18ff9a6209d380d0_r.png">

二、配置系统环境变量

打开“系统属性”,点击“环境变量”
<img src="https://pic1.zhimg.com/50/d470fcfbc0bac0f7169574a144951dbc_hd.png" data-rawwidth="476" data-rawheight="598" class="origin_image zh-lightbox-thumb" width="476" data-original="https://pic1.zhimg.com/d470fcfbc0bac0f7169574a144951dbc_r.png">
双击Path的值部分
<img src="https://pic3.zhimg.com/50/f7d668ca7ff2646e6189b2d43f899c9a_hd.png" data-rawwidth="445" data-rawheight="560" class="origin_image zh-lightbox-thumb" width="445" data-original="https://pic3.zhimg.com/f7d668ca7ff2646e6189b2d43f899c9a_r.png">
填上OpenCV的bin路径
<img src="https://pic2.zhimg.com/50/c02b13011b23eead03bc7e944bb7d7e9_hd.png" data-rawwidth="651" data-rawheight="181" class="origin_image zh-lightbox-thumb" width="651" data-original="https://pic2.zhimg.com/c02b13011b23eead03bc7e944bb7d7e9_r.png">
注意:
1、此时电脑最好重启下。
2、如果你的应用程序是win32控制台应用程序,则选择x32的路径;
如果你的应用程序是win64控制台应用程序,则选择x64的路径。(感谢
@吴信仰
的指正和解惑。)
3、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。


三、创建VS新项目
<img src="https://pic4.zhimg.com/50/7f15f6fc91c9b851f0260c8cd93f20ef_hd.png" data-rawwidth="1366" data-rawheight="725" class="origin_image zh-lightbox-thumb" width="1366" data-original="https://pic4.zhimg.com/7f15f6fc91c9b851f0260c8cd93f20ef_r.png"><img src="https://pic3.zhimg.com/50/d8f52c315f4a1f2f42624026d95fbd66_hd.png" data-rawwidth="665" data-rawheight="484" class="origin_image zh-lightbox-thumb" width="665" data-original="https://pic3.zhimg.com/d8f52c315f4a1f2f42624026d95fbd66_r.png"><img src="https://pic3.zhimg.com/50/6f8bce65bad6ea387ca404858b7fc55e_hd.png" data-rawwidth="665" data-rawheight="483" class="origin_image zh-lightbox-thumb" width="665" data-original="https://pic3.zhimg.com/6f8bce65bad6ea387ca404858b7fc55e_r.png">

四、添加项目属性表

“视图”打开“属性窗口”
<img src="https://pic2.zhimg.com/50/99070c1452bd971d6652d9b1c7f7c939_hd.png" data-rawwidth="461" data-rawheight="693" class="origin_image zh-lightbox-thumb" width="461" data-original="https://pic2.zhimg.com/99070c1452bd971d6652d9b1c7f7c939_r.png"><img src="https://pic2.zhimg.com/50/23b8967b62c6e5407d776d43e27b0ad5_hd.png" data-rawwidth="346" data-rawheight="328" class="content_image" width="346">
右击“Debug|Win32”点击“添加新项目属性表”(如果想在Release模式下使用OpenCV,右击Release|Win32,同理可得)<img src="https://pic2.zhimg.com/50/e83136838687ba83e81db9bbf4ede131_hd.png" data-rawwidth="351" data-rawheight="358" class="content_image" width="351">
给属性表命名
<img src="https://pic2.zhimg.com/50/7aed98411d80eb2c9eb51c42fd21f4e1_hd.png" data-rawwidth="937" data-rawheight="582" class="origin_image zh-lightbox-thumb" width="937" data-original="https://pic2.zhimg.com/7aed98411d80eb2c9eb51c42fd21f4e1_r.png">

五、配置项目属性表

双击创建的属性表
<img src="https://pic1.zhimg.com/50/27db5dbe81b73a35f8579b2b70004b68_hd.png" data-rawwidth="346" data-rawheight="318" class="content_image" width="346">
5.1添加包含目录
<img src="https://pic4.zhimg.com/50/7bc1ca5bb25dc0e38ef967d8ddb33c97_hd.png" data-rawwidth="755" data-rawheight="448" class="origin_image zh-lightbox-thumb" width="755" data-original="https://pic4.zhimg.com/7bc1ca5bb25dc0e38ef967d8ddb33c97_r.png"><img src="https://pic4.zhimg.com/50/93d0664f7307cf57a640398c5454b7f7_hd.png" data-rawwidth="418" data-rawheight="397" class="content_image" width="418">
5.2添加附加库目录
<img src="https://pic2.zhimg.com/50/be61e855039c30f20822fc95ee0919f9_hd.png" data-rawwidth="750" data-rawheight="449" class="origin_image zh-lightbox-thumb" width="750" data-original="https://pic2.zhimg.com/be61e855039c30f20822fc95ee0919f9_r.png"><img src="https://pic3.zhimg.com/50/55abca94d7eae1b35ac9cc5124bce092_hd.png" data-rawwidth="418" data-rawheight="397" class="content_image" width="418">
注意:
1、如果你的应用程序是win32控制台应用程序,则选择x32的路径;如果你的应用程序是win64控制台应用程序,则选择x64的路径。
2、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。

5.3添加附加依赖项

附加依赖项如下:
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib

注意:
1、249对应OpenCV2.4.9,其他版本做对应修改。
2、后缀d代表Debug模式,如果是Release模式去掉d。依个人情况选择Debug模式或者Release模式。

<img src="https://pic3.zhimg.com/50/38daa2039c439378a5289b447b98725e_hd.png" data-rawwidth="753" data-rawheight="451" class="origin_image zh-lightbox-thumb" width="753" data-original="https://pic3.zhimg.com/38daa2039c439378a5289b447b98725e_r.png"><img src="https://pic3.zhimg.com/50/dbfdceec72dfc7038037de6aa7bb5e66_hd.png" data-rawwidth="422" data-rawheight="399" class="origin_image zh-lightbox-thumb" width="422" data-original="https://pic3.zhimg.com/dbfdceec72dfc7038037de6aa7bb5e66_r.png">

六、引用项目属性表

打开项目目录,你会看到如下文件
<img src="https://pic2.zhimg.com/50/fd97db6c52b4ce078b34489c08b79aa5_hd.png" data-rawwidth="800" data-rawheight="324" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic2.zhimg.com/fd97db6c52b4ce078b34489c08b79aa5_r.png">

以后新建项目时,打开属性管理器,右击Debug|Win32选择添加现有属性表上述文件即可。

<img src="https://pic3.zhimg.com/50/2c92811433387ccd5fa4a702f655171e_hd.png" data-rawwidth="523" data-rawheight="356" class="origin_image zh-lightbox-thumb" width="523" data-original="https://pic3.zhimg.com/2c92811433387ccd5fa4a702f655171e_r.png"><img src="https://pic2.zhimg.com/50/3fb1930f79f0172255ab0cdbb30b1edd_hd.png" data-rawwidth="670" data-rawheight="475" class="origin_image zh-lightbox-thumb" width="670" data-original="https://pic2.zhimg.com/3fb1930f79f0172255ab0cdbb30b1edd_r.png">

========================

以上,应该算VS一次配置永久使用OpenCV了^ ^

编辑于 2016-05-13

手边没VS2013,凭记忆回答,有些名词可能记得不准
随便打开一个项目,然后点击菜单中的 视图->属性管理器(VS2010好像是 视图->其他窗口->属性管理器),打开属性管理器,点击项目前的箭头,展开项目,找到debug或者release下面的Microsoft.Cpp.Win32.user这个属性,双击会出现一个跟在项目上右键属性一样的窗口,修改里面的“VC++目录”就是修改了全局的,题注应该知道咋改,就是把opencv的include和lib目录加进去,重新打开VS或者新建项目也会继承这里的include目录和lib目录。如果要修改x64的包含目录就修改Microsoft.Cpp.Win64.user。

对VS2010往后的版本这个做法都好用,而且如果同时装了VS2010、2012、2013中的多个版本,改了一个其他的好像也会跟着变,这里不光可以改包含目录,还能改一些其他的默认属性,最好不要乱改,万一忘了原来是啥样就郁闷了。
编辑于 2014-10-21

用了这么opencv,分享一个最尴尬的问题。
个人台式机上配置了opencv,并写了一个project。需要拿到另外一台计算机上运行(例如导师要检查程序,需要拷贝到他的电脑上去运行)。这时我们是不是需要考虑一下问题,导师电脑上是否安装opencv。如果安装了,安装的opencv2.x还是opencv3.x?opencv的库安装在那个目录?如果没有安装,是不是还得先给老师电脑上安装上opencv?

=========================20161215============================
Visual Studio 有哪些好用的插件?
=========================20161214============================
---------------------------以下秘籍不仅适合opencv任何第三方库均适合---------------------------
在visual studio 中使用开源库,最简单的方法就是使用NuGet【NuGet Gallery | Home】,这个vs是管理第三方库的最好用的插件了。
简单介绍一下吧。
1 如何安装
1)可以在主页上直接下载后安装。
2)可以&lt;img src="https://pic1.zhimg.com/50/v2-7be36c2f026aecdb37f94b157c6a78a8_hd.png" data-rawwidth="473" data-rawheight="549" class="origin_image zh-lightbox-thumb" width="473" data-original="https://pic1.zhimg.com/v2-7be36c2f026aecdb37f94b157c6a78a8_r.png"&gt;
&lt;img src="https://pic4.zhimg.com/50/v2-b0b10fdb94be3e5c3a46f9c336b32923_hd.png" data-rawwidth="936" data-rawheight="646" class="origin_image zh-lightbox-thumb" width="936" data-original="https://pic4.zhimg.com/v2-b0b10fdb94be3e5c3a46f9c336b32923_r.png"&gt;在搜索框中输入 nuget package manger 等关键字安装。在搜索框中输入 nuget package manger 等关键字安装。
2 安装第三方库
1)右击工程名-进入管理NuGet程序包
&lt;img src="https://pic1.zhimg.com/50/v2-c216cb8977275419a278c48139483d90_hd.png" data-rawwidth="410" data-rawheight="619" class="content_image" width="410"&gt;
2)安装第三方库
在搜索栏输入库名称例如opencv-安装即可。
&lt;img src="https://pic4.zhimg.com/50/v2-38a7c67a00b25802da1978942447f04b_hd.png" data-rawwidth="900" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="900" data-original="https://pic4.zhimg.com/v2-38a7c67a00b25802da1978942447f04b_r.png"&gt;3)开始使用吧。3)开始使用吧。
正常使用opencv吧。但是会发现假如你只想使用opencv中某几个模块,但是它依然会把所有模块加载上来,并且会使得vs上的提示功能变慢。
把这个工程发给任何有vs的计算机上,如果发现他的计算机上没有Nuget管理的opencv库,则会自动下载安装。至此问题解决。
4)管理本地第三方库
点击上图左下角的“设置”进入
&lt;img src="https://pic3.zhimg.com/50/v2-aa2230e6a51dc8cc65f68f3e164a4232_hd.png" data-rawwidth="744" data-rawheight="487" class="origin_image zh-lightbox-thumb" width="744" data-original="https://pic3.zhimg.com/v2-aa2230e6a51dc8cc65f68f3e164a4232_r.png"&gt;
我这有两个本地第三方库了。
在设置第三方库目录时,即库的存储目录尽量设置成和解决方案平行的目录。如果不这样,早晚会遇到坑。
5)常用c++库展示
&lt;img src="https://pic1.zhimg.com/50/v2-db26b0495c0bb69640f2b97459bc2bdc_hd.png" data-rawwidth="399" data-rawheight="467" class="content_image" width="399"&gt;
&lt;img src="https://pic1.zhimg.com/50/v2-b1042be8c73d2b7bde8fc1cebdea4744_hd.png" data-rawwidth="402" data-rawheight="452" class="content_image" width="402"&gt;
&lt;img src="https://pic1.zhimg.com/50/v2-edfbd797a80f555b5a93cf34d3220ca8_hd.png" data-rawwidth="412" data-rawheight="420" class="content_image" width="412"&gt;
编辑于 2017-02-23

不同意vczh的做法,遇到需要切换opencv版本的情况太麻烦。
请认准属性表,一次编写,到处使用,系统环境变量你都不需要设定,所有设定都写在属性表文件中,用的时候在vs里导入属性表。如果要切换opencv版本,只修改opencv编译输出目录就可以了。

比如OpenCV3.0版的,可以命名为opencv300.props:
<?xml version="1.0" encoding="utf-8"?><!--  OpenCV 3.0.0属性表文件 不用单独配置环境变量OpenCV 也不用单独在系统PATH上添加OpenCV可执行路径 只需要在VisualStudio-"菜单"-"视图"-"属性管理器"中添加现有属性表,添加本文件 使用前请将下面的OpenCVRoot修改为你的OpenCV编译输出目录--><Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"><ImportGroup Label="PropertySheets" /><PropertyGroup Label="UserMacros" /><PropertyGroup><!-- 请把OpenCVRoot属性的值替换为你的OpenCV编译输出的目标目录,它包含x64、x86这样的子目录 --><OpenCVRoot>D:\lib\opencv300\build</OpenCVRoot><!-- 指定INCLUDE路径--><IncludePath>$(OpenCVRoot)\include;$(IncludePath)</IncludePath><!-- 指定链接所需lib目录--><LibraryPath Condition="'$(Platform)'=='Win32'">$(OpenCVRoot)\x86\vc12\lib;$(LibraryPath)</LibraryPath><LibraryPath Condition="'$(Platform)'=='X64'">$(OpenCVRoot)\x64\vc12\lib;$(LibraryPath)</LibraryPath><!-- 保证系统处于Debug模式时,可以使用相对路径读取源代码目录下的文件,比如"lena.jpg"而不必是"d:/work/test/test/lena.jpg" --><LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory><DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor><!-- 让系统PATH临时包含指定的dll目录 --><LocalDebuggerEnvironment Condition="'$(Platform)'=='Win32'">PATH=%PATH%;$(OpenCVRoot)\x86\vc12\bin</LocalDebuggerEnvironment> <LocalDebuggerEnvironment Condition="'$(Platform)'=='X64'">PATH=%PATH%;$(OpenCVRoot)\x64\vc12\bin</LocalDebuggerEnvironment></PropertyGroup><!-- 以下是程序需要加载的lib文件。--><ItemDefinitionGroup><Link Condition="'$(Configuration)'=='Debug'"><AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)</AdditionalDependencies></Link><Link Condition="'$(Configuration)'=='Release'"><AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)</AdditionalDependencies></Link></ItemDefinitionGroup><ItemGroup /></Project>
编辑于 2016-02-03

First answer,最近在搞Kinect,要用到opencv,我来个图文并茂的

相信如何去设置环境变量,配置opencv的"包含路径"和"库路径"题主已知晓,关键之处在于进入VIEW---Property Manager---工具栏下方的Debug | Win32后,估计题主是新建的“PropertySheet.props”即别人所说的属性表,然而正确的做法是直接在“Microsoft.Cpp.Win32.user”上配置opencv的"包含路径"和"库路径",别去新建!!!这样就解决问题了

1.首先新建个工程,我命名为”TURN2",选择VIEW---Property Manager&lt;img src="https://pic4.zhimg.com/50/a8d09cc417db21dde8c3bd4494b6450b_hd.png" data-rawwidth="689" data-rawheight="732" class="origin_image zh-lightbox-thumb" width="689" data-original="https://pic4.zhimg.com/a8d09cc417db21dde8c3bd4494b6450b_r.png"&gt;
2.依次点开TURN2---Debug | Win32---Microsoft.Cpp.Win32.user
&lt;img src="https://pic4.zhimg.com/50/d4b3312e12b57cc54b8c42d651eeb727_hd.png" data-rawwidth="922" data-rawheight="851" class="origin_image zh-lightbox-thumb" width="922" data-original="https://pic4.zhimg.com/d4b3312e12b57cc54b8c42d651eeb727_r.png"&gt;3.在Microsoft.Cpp.Win32.user上双击,打开对话框,填入路径"Include Directories" 和"Library Directories",题主肯定知道怎么做了3.在Microsoft.Cpp.Win32.user上双击,打开对话框,填入路径"Include Directories" 和"Library Directories",题主肯定知道怎么做了
&lt;img src="https://pic4.zhimg.com/50/5c8633e7b2fdae7abf305c6e7388b98b_hd.png" data-rawwidth="782" data-rawheight="609" class="origin_image zh-lightbox-thumb" width="782" data-original="https://pic4.zhimg.com/5c8633e7b2fdae7abf305c6e7388b98b_r.png"&gt;
&lt;img src="https://pic4.zhimg.com/50/46e2cb51bb13eae95706ab0b96dad1cf_hd.png" data-rawwidth="782" data-rawheight="609" class="origin_image zh-lightbox-thumb" width="782" data-original="https://pic4.zhimg.com/46e2cb51bb13eae95706ab0b96dad1cf_r.png"&gt;

4.设置链接器
&lt;img src="https://pic1.zhimg.com/50/2c18fa481f19ec577f96df3e4e84307c_hd.png" data-rawwidth="782" data-rawheight="609" class="origin_image zh-lightbox-thumb" width="782" data-original="https://pic1.zhimg.com/2c18fa481f19ec577f96df3e4e84307c_r.png"&gt;

5.还有一点,好像opencv3.0直接填入opencv_ts300d.lib;opencv_world300d.lib即可,不过我不太确定,还有待考证
6.具体细节请参考[置顶] Win8.1+VS2013+OpenCV2.4.9+Kinect for Windows SDK v1.8开发环境配置
编辑于 2015-09-11
属性表
发布于 2014-10-21
采用新建属性表的方法,而不是右键添加属性,这两个应该是有区别的吧,哈哈
分别命名为debug和release
下次直接拷贝属性表到新的工程目录,项目中'添加'属性表就行了
感觉也没有节省时间哈
发布于 2015-12-24

把lib和dll都带上,使用#include ""而不是<>,把头文件跟你的代码放在一起,最后所有的这些checkin到你的source control里面。


这样你基本上换什么机器,checkout出来全部都能用。

发布于 2014-10-21
用CMake(CMake)啊,跨平台的构建工具。
只需要花半天时间简单学一下CMake的语法,就可以完全避免配置的过程,而且还可以帮助你完成诸如拷贝文件(自动拷贝dll),打包程序,生成文档等功能。
目前,许多的开源库和软件都提供了CMake支持(OpenCV,PCL,ROS...),CMake今后也会越来越通用和流行,所以非常值得一学。
发布于 2015-01-28
请百度 浅墨 的CSDN博客,opencv系列第一篇
发布于 2015-09-20

opencv问题汇总

先上一个感觉最靠谱教程

【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

严格按照一步一步来,但是即使看图片依然有问题会出现,一次成功的可能性非常低。除了教程后面的问题外,列出自己过程中出现的小问题。

1.环境变量的设置

不同系统这个界面是不一样的,如果完全不熟悉,百度找符合自己自己系统的,即使都是win10界面也会有稍微不同。注意分号,英文状态即可。

路径一定是自己当时解压的路径,多数情况自己的和教程是不一样的。

<img src="https://pic1.zhimg.com/50/v2-b8d6f6d5dc434fa3b4e29e3c286eb368_hd.png" data-rawwidth="387" data-rawheight="406" class="content_image" width="387">

2.属性管理器的设定<视图>--<属性管理器>

此处教程指的是通用的属性设置,而不是这个工程的,对于VS2013update5,直接找不到这个窗口,基本一样,但是实在other window中找到的,而不是下面的properties window。

<img src="https://pic2.zhimg.com/50/v2-1bc5ee22e03e719a6a0ebc7975736a0d_hd.png" data-rawwidth="665" data-rawheight="181" class="origin_image zh-lightbox-thumb" width="665" data-original="https://pic2.zhimg.com/v2-1bc5ee22e03e719a6a0ebc7975736a0d_r.png">

这样在属性管理器下就能找到 Debug|Win32->Microsoft.Cpp.Win32.userDirectories 。

此处的配置只弄一个模式是可以的,debug,release模式不一定要修改

(我到现在还不知道这两种模式的区别)

3.工程库(lib)目录的配置

如果是VS2013+opencv2.4.13

dubug模式下:

opencv_ml2413d.lib

opencv_calib3d2413d.lib

opencv_contrib2413d.lib

opencv_core2413d.lib

opencv_features2d2413d.lib

opencv_flann2413d.lib

opencv_gpu2413d.lib

opencv_highgui2413d.lib

opencv_imgproc2413d.lib

opencv_legacy2413d.lib

opencv_objdetect2413d.lib

opencv_ts2413d.lib

opencv_video2413d.lib

opencv_nonfree2413d.lib

opencv_ocl2413d.lib

opencv_photo2413d.lib

opencv_stitching2413d.lib

opencv_superres2413d.lib

opencv_videostab2413d.lib

release模式下:

opencv_objdetect2413.lib

opencv_ts2413.lib

opencv_video2413.lib

opencv_nonfree2413.lib

opencv_ocl2413.lib

opencv_photo2413.lib

opencv_stitching2413.lib

opencv_superres2413.lib

opencv_videostab2413.lib

opencv_calib3d2413.lib

opencv_contrib2413.lib

opencv_core2413.lib

opencv_features2d2413.lib

opencv_flann2413.lib

opencv_gpu2413.lib

opencv_highgui2413.lib

opencv_imgproc2413.lib

opencv_legacy2413.lib

opencv_ml2413.lib

这二者是要分开的,或者说,不出现在一个 附加的依赖项框内!!!!!!!!

还有可能出现某个找不到lib的情况,除了这些,当时还有一些我直接删除了。

另外配置结束后,要重启,重新创建一个project添加代码,

否则需要教程中的第六步:6.在Windows文件夹下加入OpenCV动态链接库

4.代码中文件的路径

Mat img=imread("pic.jpg"); 教程中用的相对路径,但是我没有成功,改成绝对路径,才运行成功,不行的话,大家可以改一下。绝对路径用的是双斜杠!!!,要注意,不能单纯复制路径。

PS:我几乎出现了教程中出现的所有问题,而且纯小白,VS也没用过,一点点找到的,不要心急。看教程时,我们感觉是完全按照教程来的,其实有些地方是不一样的,会有小错误。只要慢慢找肯定就能成功的。

带我的老师被我问的都懵逼了,让我直接去找他,但是自己一个一个问题解决后的感觉真的很棒。

发布于 2017-04-04
实际上,配置opencv 主要麻烦的地方就是在【附加依赖项】的库名称。
我是这样配置的:在命令行下,进入lib库的目录,我们要得到debug库的名称,可以直接输入【dir *d.lib】,然后,用鼠标进行选择,为了防止出现什么差错,可以将库的名称复制到记事本中,最后再从记事本中复制到VS中。下面举个例子:
1.
&lt;img src="https://pic4.zhimg.com/50/a5e482fd131a0c09bf72e48545e2a70f_hd.png" data-rawwidth="834" data-rawheight="601" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic4.zhimg.com/a5e482fd131a0c09bf72e48545e2a70f_r.png"&gt;

2. &lt;img src="https://pic3.zhimg.com/50/dd71344fba08953f842c5585a7fe4196_hd.png" data-rawwidth="709" data-rawheight="715" class="origin_image zh-lightbox-thumb" width="709" data-original="https://pic3.zhimg.com/dd71344fba08953f842c5585a7fe4196_r.png"&gt;3.
3.
&lt;img src="https://pic1.zhimg.com/50/34ac01819b1f306a170399bd1cf89e98_hd.png" data-rawwidth="709" data-rawheight="715" class="origin_image zh-lightbox-thumb" width="709" data-original="https://pic1.zhimg.com/34ac01819b1f306a170399bd1cf89e98_r.png"&gt;

4. &lt;img src="https://pic3.zhimg.com/50/02ac70dca375807c3edd91c81c9b88d6_hd.png" data-rawwidth="517" data-rawheight="450" class="origin_image zh-lightbox-thumb" width="517" data-original="https://pic3.zhimg.com/02ac70dca375807c3edd91c81c9b88d6_r.png"&gt;



备注:个人不建议配置那种永久的属性表。因为有一次,出现了很麻烦的事情,就是关于属性表的。
编辑于 2016-05-18
依然是属性表!
<?xml version="1.0" encoding="utf-8"?>
schemas.microsoft.com/d">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IncludePath>$(OPENCV)\include;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc12\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_calib3d248d.lib;opencv_contrib248d.lib;opencv_core248d.lib;opencv_features2d248d.lib;opencv_flann248d.lib;opencv_gpu248d.lib;opencv_highgui248d.lib;opencv_imgproc248d.lib;opencv_legacy248d.lib;opencv_ml248d.lib;opencv_nonfree248d.lib;opencv_objdetect248d.lib;opencv_ocl248d.lib;opencv_photo248d.lib;opencv_stitching248d.lib;opencv_superres248d.lib;opencv_ts248d.lib;opencv_video248d.lib;opencv_videostab248d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_calib3d248.lib;opencv_contrib248.lib;opencv_core248.lib;opencv_features2d248.lib;opencv_flann248.lib;opencv_gpu248.lib;opencv_highgui248.lib;opencv_imgproc248.lib;opencv_legacy248.lib;opencv_ml248.lib;opencv_nonfree248.lib;opencv_objdetect248.lib;opencv_ocl248.lib;opencv_photo248.lib;opencv_stitching248.lib;opencv_superres248.lib;opencv_ts248.lib;opencv_video248.lib;opencv_videostab248.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
发布于 2015-01-27
反对vczh的答案。
标准答案:参照opencv官方文档,在property和系统路径中配置好dll,lib和头文件的目录。
正在用Ubuntu,没办法截图,抱歉。
编辑于 2016-03-05

安利一发自己写的工具,之前受困扰很久了,无论什么属性表之类都还是太麻烦,现在这个用着比较满意,至于为什么强于属性表之类的(OpenCV的lib文件名一直在改,又不可能记住,每次都要google),是因为这才是OpenCV官方支持的!
GitHub - ZhreShold/opencv-bootstrap: Set up opencv project in a few seconds, good for Visual Studio/OS X/Linux...
Windows现在可以直接用这个github.com/ZhreShold/op,省去了安装cmake的过程

原理就是用Cmake脚本替代繁琐的配置,自己只要把源文件丢在指定的文件夹内,然后让cmake自己搜索并添加到工程里就是了。亲测除去下载Opencv和解压的时间,1分钟之内就能搞定,熟悉之后几秒钟就能配置好一个工程。

优点:
- 随便切换opencv版本,只要对应的opencv运行库满足vs的版本号,到时候把opencv路径一改就搞定了
- 随意生成solution,只要源代码在,随便删工程也不心疼
- 同理,移植性棒棒的,随便拷到哪台电脑,最多改个路径,重新生成一遍就行
- 除了改CmakeLists.txt里的几个(准确说是最多3个,一个是Linux用的)选项,不用在VS里面抓虾~

缺点:
- GUI还没写,真的需要吗?
- 需要你打开文本文件修改选项


Windows版使用说明~

0. 确保已经将OpenCV下载并解压在磁盘上,任意位置都可以,比如D:\\dev\\opencv
1. (可选)把源文件(.c, .cpp, .h, .hpp)放入src文件夹
2. (可选)把第三方头文件(需要包含的)放入include文件夹
3. 进入build文件夹,打开CMakeLists.txt编辑,把"SET(CUSTOM_OPENCV_DIR "C:\\Library\\opencv\\build")"里的路径改成OpenCV的实际路径
4. (可选)把工程名从"opencv-bootstrap"改成任意想要的
5. (可选)如果想要link静态运行库,把"LINK_OPENCV_STATIC OFF"改成"LINK_OPENCV_STATIC ON"
6. 运行"create_vs2013_project.bat", 如果是VS2015, 运行"create_vs2015_project.bat"
7. 脚本成功运行完毕后,就可以在vc12或者vc14文件夹内找到生成的solution

Done.
编辑于 2016-03-03
工程目录下有个图标叫属性管理器,点来之后把你当前配置好的属性可以导出,这样每次新建项目,同样的方法倒入即可。vs无论搭配cv,qt以及其他,都可以这样做
发布于 2016-02-03
OpenCV3.0.0在win10 64位,vs2015环境的下载,安装,配置与属性表的生成
可以参考上述链接,用的是属性表
编辑于 2015-09-23
CMake 不谢
发布于 2017-06-21

我配置时直接没有新建属性表,而是直接使用属性管理器下面的属性文件,但出现一个问题就是debug和release下面配置lib时会同时更改变化,这个问题是什么?

发布于 2017-06-05
更改项目的属性表,win7中的属性表位置是:
C:\Users\username(Administrator)\AppData\Local\Microsoft\MSBuild\v4.0 (其中uername是你管理员用户的名称)打开文件 Microsoft.Cpp.Win32.user 修改配置文件中错误路径值。
win8没用过,应该也在这个位置。
编辑于 2016-12-07
阅读全文
0 0
原创粉丝点击