Visual Studio 2010配置OpenCV的方法
用VS使用OpenCV的时候,又不想全局配置,每次都要配置简直烦死了。
鉴于此,给大家介绍一种简便一点的方法。
配置环境的前提是:成功安装了OpenCV合适的版本。
我这里用的是OpenCV2.4.9,这个版本解压后,找到一个叫build的目录,这个是已经编译好的。
我们假设build目录结构如图1:
图1 、 build目录结构
并且假设build这个文件夹就在D盘下的opencv目录下,如果不是这样,你可以移动到D盘的opencv目录下。
我们要用C++来开发。 平台选用x86,当然,具体什么平台,根据你的实际情况。
第一步:创建一劳永逸的项目属性表!
打开VisualStudio2010,创建一个新的项目,如图2所示:
图 2、 创建Win32控制台应用程序
点击确定,然后下一步,进入图3所示界面。选择空项目。
图 3、 选择空项目
点击完成。
在菜单栏中选择视图-->属性管理器,如图4所示。
图 4、 选择属性管理器
然后将属性管理器的选项卡都展开,如图5 所示:
图 5、展开属性管理器
右击 Debug|Win32,选择“添加新项目属性表”,操作步骤如图6、7所示:
图 6
图 7 添加OpenCV_Debug属性表
添加结果如图8所示:
图 8、OpenCV_Debug 属性表添加结果
双击新添加的属性表。
按照图9所示,编辑包含目录。
图 9、 编辑包含目录
图 10、添加OpenCV的include目录
图 11、添加附加库目录
图 12、添加附加依赖项
图12中,添加的附加依赖项后缀之前都有一个d,这点也是唯一与Release不同的地方。
添加的库文件名列表如下(注意你的版本号,千万别直接复制粘贴)
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
最后点击确定。
然后打开,你的项目目录下,你会看到图13所示的文件:
图13 OpenCV_Debug属性表
把图13中那个框红的文件复制到一个合适的目录下,保留。下次直接添加就可以了。
第二步:新建使用OpenCV的项目:
1、新建一个空项目demo2,方法不赘述了。
2、切换到属性管理器,右击Debug|Win32选择添加现有属性表~
图 14、添加现有属性表
找到你保存好的OpenCV_Debug.props,打开就可以了,结果如图15所示:
图 15 添加属性表结果
至此,你就可以在demo2的项目中添加cpp文件,然后可以快了的写代码了。
补充:
写完代码,编译成功后,可能会出现找不到dll等问题。
只要你把D:\opencv\build\x86\vc10\bin这个目录添加到环境变量PATH中就可以了。
特别提醒:
在配置过程中:
1、请认准你需要的平台:X86 or X64!
2、注意各个目录与平台要一致!
3、添加环境变量!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- Uploadify的一点总结
- 自动驾驶时代,中国移动要以怎样的姿势进入?
- JQuery中文日期控件
- Silverlight中的帧
- 窗口自动弹出浏览器显示广告的问题
- Instagram 开源用于 Python 3的MonkeyType 工具
- 拼凑了几个自定义的Panel(包括FishEyePanel,WrapPanel等几个常用的布局)
- jquery获取父级一级节点的序号
- Docker容器学习梳理--基础知识(2)
- Blend生成的TransformGroup如何引用?
- 今日头条写新闻机器人获吴文俊人工智能科技发明奖
- Docker容器学习梳理--应用程序容器环境部署
- 异步方式访问网页
- Silverlight:利用Panel实现自定义布局
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Hacking with iOS: SwiftUI Edition - 潜力客户名单项目(三)
- 大型项目技术栈第四讲 SQL语句构建器
- redis 入门(一)——Linux环境安装测试以及基本命令演示
- 大型项目技术栈第五讲 富文本编辑器
- weblogic 11g StuckThreadMaxTime 问题解决 以及 线程池、数据库连接池参数调优
- 大型项目技术栈第九讲 kaptcha的使用
- 大型项目技术栈第十讲 日志与性能监控
- Mybatis系列第三讲 Mybatis使用详解(1)
- Maven系列第二讲 安装、配置、mvn运行过程详解
- Maven第六讲 生命周期详解 高手必备!
- 鸿蒙 Ability 讲解(页面生命周期、后台服务、数据访问)
- Maven 项目第七讲 Maven插件
- weblogic Schema validation schemaValidationEnabled=false 启动报错解决
- redis 反序列化deserialize异常问题解决
- redis 入门(二)——maven4.0 + Jedis2.9.0 + redis3.2.6 实战