当前位置:首页 » 编程软件 » vs编译opencv

vs编译opencv

发布时间: 2024-08-28 15:55:49

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

说白了就是将VS第一次配置OpenCV的项目属性表保存下来,每次新建项目时引用即可。
目录

解压OpenCV
配置系统环境变量
创建VS新项目
添加项目属性表
配置项目属性表
引用项目属性表

声明:


下展示内容,配置方案为OpenCV2.4.9+VS2013+win10+x64,但方法适用于OpenCV2.4.8、OpenCV2.4.9、
OpenCV2.4.10,适用于win7、win8.1、win10,适用于x64和x84(下面会讲解如何对应修改)。如果问为什么适用?因为我都试
过啊~

会一次性配置的知友请直接看第四部分和第六部分,因为其余部分跟一次性配置是一样的。

一、解压OpenCV
比如本人解压在G盘根目录下

二、配置系统环境变量

打开“系统属性”,点击“环境变量”

双击Path的值部分

填上OpenCV的bin路径

注意:
1、此时电脑最好重启下。
2、如果你的应用程序是win32控制台应用程序,则选择x32的路径;如果你的应用程序是win64控制台应用程序,则选择x64的路径。(感谢 @吴信仰 的指正和解惑。)
3、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。

三、创建VS新项目

四、添加项目属性表

“视图”打开“属性窗口”

右击“Debug|Win32”点击“添加新项目属性表”(如果想在Release模式下使用OpenCV,右击Release|Win32,同理可得)
给属性表命名

五、配置项目属性表

双击创建的属性表

5.1添加包含目录

5.2添加附加库目录

注意:
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模式。

六、引用项目属性表

打开项目目录,你会看到如下文件

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

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

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

编辑于 2016-05-13

12 条评论

感谢

分享

收藏



没有帮助


举报



作者保留权利

ZZ Chris

,在野武将

18 人赞同

不同意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>

⑵ 为什么要使用cmake+VS重新编译的opencv库

使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。
官方提供的编译库一般只是标准版本,可能与某些库并不兼容,比如官方提供的编译好的版本与opengl就不兼容,这时就只能自己构建项目后编译。
在用cmake生成工程文件的时候,设置当中有WITH_OPENGL,WITH_QT等选项,你想支持哪个库只需要选择即可。
当然,一般使用的话,用官方提供的库即可。OpenCV2.3.1版本就提供编译好的库,可以直接设置使用

⑶ opencv +vs2010问题,编译出现100多错误。详情见补充。

如果配置没错的话,看一下错误提示
则文件路径出错了;
正确的是:cvLoadImage("C:\\Users\\Hu\\Desktop\\matlab\\1.jpg",1)

或cvLoadImage("C:/Users/Hu/Desktop/matlab/1.jpg",1)

热点内容
linux的ls 发布:2024-11-25 05:47:56 浏览:843
oracle存储过程游标实例 发布:2024-11-25 05:40:32 浏览:804
xpsql2000 发布:2024-11-25 05:20:20 浏览:372
如何设置安卓上拉菜单 发布:2024-11-25 05:20:12 浏览:5
为什么安卓手机做不出透明相框 发布:2024-11-25 05:13:52 浏览:492
间接结算法 发布:2024-11-25 05:12:08 浏览:760
java咖啡机 发布:2024-11-25 05:12:05 浏览:490
小白主机怎么配置 发布:2024-11-25 05:10:33 浏览:145
automator脚本 发布:2024-11-25 04:41:18 浏览:311
敲背面截图怎么弄安卓 发布:2024-11-25 04:39:18 浏览:810