转载 VC 2010下安装OpenCV2.4.4
说明:
- 1、安装平台:32位XP,VS2010;
- 2、OpenCV 2.4.4不支持VC 6.0;
- 3、网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。
4、希望大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里。尤其要注意自己的操作系统的位数,还有相应的路径
一、下载OpenCV
- 1、从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.4.4.exe 文件)。
- 2、将 OpenCV-2.4.4.exe 解压并放到某个目录下,例如
C:\Program Files\OpenCV244(本人的解压目录)。解压后的目录结构如下图。

二、设置环境变量
- 右键单击我的电脑→属性→高级→环境变量。
2.1 用户变量设置
2.1.1 设置PATH
-
- 选中PATH,单击编辑。在PATH的末尾添加以下路径:
C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin。
注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;
2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;
3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
- 选中PATH,单击编辑。在PATH的末尾添加以下路径:

2.1.2 新建OpenCV变量
-
- 单击新建,在弹出的对话框中,将变量名和变量值分别设置为OpenCV和
C:\Program Files\OpenCV244\opencv\build。
- 单击新建,在弹出的对话框中,将变量名和变量值分别设置为OpenCV和
注意:1、变量名可以自己定义;
2、变量值可修改为你的opencv\build文件夹所在的路径。
2.2 系统变量设置
2.2.1 设置PATH
-
- 选中PATH,单击编辑。在PATH的末尾添加以下路径:
C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin。
- 选中PATH,单击编辑。在PATH的末尾添加以下路径:
注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;
2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;
3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。

说明:设置完环境变量,需要重启电脑,才能生效。
三、配置VS2010
- 配置VS2010,亦即告诉VC去什么地方寻找OpenCV的头文件和库。打开VS2010,选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”,在VS2010中打开此选项,如下图所示,显示编辑功能被否决。

可以在具体的项目中,对特定的项目单击右键→属性来设置,只是这样的设置无法被继承,每一个项目都需要单独设置,太过繁琐,因此需要一个能够被继承的全局设置,方法如下:要求:确保VS2010中至少有一个工程被打开。这里采用新建一个工程的办法,以便后面测试程序。
3.1 准备工作
1、打开VS2010,新建项目→win32控制台项目→完成。



2、点击“视图”→“其他窗口”→“属性管理器”,结果如下图所示。

3.2 配置VC10
1、从左侧项目中打开“Debug| Win32”→“Microsoft.Cpp.Win32.user”,如下图所示。

2、双击“Microsoft.Cpp.Win32.user”,弹出如下图所示的窗口。

3、点击左侧VC++目录,编辑右侧的可执行文件目录、包含目录与库目录,分别添加对应的路径。
对应的路径如下:
- 1)可执行文件目录
C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;
2、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
- 2)包含目录
C:\Program Files\OpenCV244\opencv\build\includeC:\Program Files\OpenCV244\opencv\build\include\opencvC:\Program Files\OpenCV244\opencv\build\include\opencv2
说明:1、可根据自己的情况,将其分别改为你的opencv\build\include、opencv\build\include\opencv和opencv\build\include\opencv2文件夹所在的路径;
2、这里的include目录为build文件夹下的include目录,不要选成与build文件夹在同一个根目录下的那个include文件夹。
- 3)库目录
C:\Program Files\OpenCV244\opencv\build\x86\vc10\lib
说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\lib文件夹所在的路径;
2、如果是64位系统,可将opencv\build\x86\vc10\lib改为opencv\build\x64\vc10\lib。4、附加依赖项
- 单击“链接器”→“输入”→“附加依赖项”,如下图所示。
如下图所示,在附加依赖项里,添加opencv\build\x86\vc10\lib文件夹里的lib文件名称:
-
- opencv_calib3d244d.lib
- opencv_contrib244d.lib
- opencv_core244d.lib
- opencv_features2d244d.lib
- opencv_flann244d.lib
- opencv_gpu244d.lib
- opencv_highgui244d.lib
- opencv_imgproc244d.lib
- opencv_legacy244d.lib
- opencv_ml244d.lib
- opencv_nonfree244d.lib
- opencv_objdetect244d.lib
- opencv_photo244d.lib
- opencv_stitching244d.lib
- opencv_ts244d.lib
- opencv_video244d.lib
- opencv_videostab244d.lib
-
- opencv_calib3d244.lib
- opencv_contrib244.lib
- opencv_core244.lib
- opencv_features2d244.lib
- opencv_flann244.lib
- opencv_gpu244.lib
- opencv_highgui244.lib
- opencv_imgproc244.lib
- opencv_legacy244.lib
- opencv_ml244.lib
- opencv_nonfree244.lib
- opencv_objdetect244.lib
- opencv_photo244.lib
- opencv_stitching244.lib
- opencv_ts244.lib
- opencv_video244.lib
- opencv_videostab244.lib
说明:上面的库为opencv\build\x86\vc10\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。末尾的244 是版本号,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾数字为243。如果版本不一样,要改正,使其一致。
四、测试程序
4.1、程序代码
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
void main()
{
IplImage *src;
src = cvLoadImage("lena.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下
cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);
cvShowImage("lena",src);
cvWaitKey(0);
cvDestroyWindow("lena");
cvReleaseImage(&src);
}
4.2、运行结果
4.2.1、Debug下的运行结果
4.2.2、Release下的运行结果
感想:

一、软件安装
系统作为最底层,为了使软件能运行,所以软件首先必须在该系统上安装,这样才能让系统识别。
1.1 环境变量
PATH 变量的作用: 操作系统可执行命令的搜索路径,操作系统在执行命令时候,逐一搜索PATH指定的路径,找到命令执行如果找不到就报错误:command not found。
为opencv设置环境变量的目的是为了让系统通过执行命令时能够运行opencv某些自带的功能。
二、编译阶段识别opencv
vs2010执行一个程序,主要分为两个阶段,一个是编译阶段,另一个是链接阶段。为了识别opencv,所以必须在编译前,以及链接前要让vs2010识别opencv。
那怎样才能认识呢?
这就得从各自的结构说起。
2.1 opencv文件
opencv向外提供的功能主要包含在3个文件夹里,
- 1)include文件夹
- 2)bin文件夹
- 3)lib文件夹
include文件夹主要包括各种头文件
bin文件夹主要包括各种执行文件,opencv2.4.4中是包含了dll文件。
lib文件夹主要包括各种静态链接文件。
2.2 vs2010功能

vs2010提供的vc++目录,由于opencv主要向外提供的功能在3个目录里,因此在vs2010中加入这3个目录路径,这样通过路径就能找到所需要opencv的功能。
三、链接阶段识别opencv
vs2010为了能在链接阶段识别opencv某些库函数,以及使用这些库函数,因此,在链接前,事先加入这些库函数的文件名,以便在链接时能够正确链接。
转载 VC 2010下安装OpenCV2.4.4的更多相关文章
- VC 2010下安装OpenCV2.4.4
说明: 安装平台:32位XP,VS2010: OpenCV 2.4.4不支持VC 6.0: 网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试 ...
- VC 2008 Express下安装OpenCV2.3.1
VC 2008 Express下安装OpenCV2.3.1 注意: 下列文档以VC2008 Express为例,VC2010下的配置应与本文档类似. VC 6.0不被OpenCV 2.3.1支持. ...
- VC++2010下编译STLport,Boost
VC++2010下编译STLport,Boost 最近在想向Boost转移,努力掌握Boost代码的过程中, STLport版本:5.2.1 Boost版本:1.4.6.1 (1.4.7.0也OK) ...
- VC++2010组件安装失败解决办法
安装SQLSERVER时,安装不上,总是报错说 VC++2010组件安装错误. 单独安装时,也会报出严重错误无法安装.就是下面这两个 最后到网上找到一个办法解决了:如下: 下载这个软件 Microso ...
- 【转载】Linux下安装LoadRunner LoadGenerator
原文地址:[转载]Linux下安装LoadRunner LoadGenerator作者:邱建忠tester LR的负载机安装在linux的理由: 1.windows xp,双核+4G内存,基本上每个v ...
- Linux Ubuntu12.04下安装OpenCv2.4.10
参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...
- VS2010下安装OpenCV2.4.3
本文记录Windows 7 X86 SP1操作系统环境下,安装与配置OpenCV2.4.3的详细步骤.前置需求:已安装有VS2010. 下载并安装OpenCV 从http://www.opencv.o ...
- Ubuntu16.04下安装OpenCV2.4.13
软件版本 Ubuntu 16.04; OpenCV 2.4.13 安装步骤 1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安 ...
随机推荐
- Android学习笔记(十二)BroadcastReceiver的有序广播和优先级
前两篇博文中简单整理了普通广播,其实还有有序广播,有序广播在开发中也是比不可少的,可以给广播接收者设定优先级来控制接受顺序,并却可以中断广播传递等等. 一.两种Broadcast: · 普通广播(No ...
- 转载:Python中的new style class机制实现
1.Python中的对象模型python中所有东西都是对象 class对象:表示Python内置的类型和定义的类型instance对象(实例对象):表示由class对象创建的实例 1.1 对象间的关系 ...
- javascript排序 查找算法大全
在pptv的实习结束了, 忙着找工作的事,顺便把数据结构的那本书重新复习了一遍.为了加深印象,特意把里面的常用的排序.查找算法用js写了一遍 具体的实例在我的github上,大家可以访问的: http ...
- MFC发送自定义消息-PostMessage和SendMessage
PostMessage:把消息投放到线程的消息队列,不能消息被处理就立即返回SendMessage:消息被处理完后才返回 几种发送消息的写法: ::PostMessage(GetSafeHwnd( ...
- Jsp中的EL表达式
EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!! 语法: ${变量或表达式} 可以通过page指令来设置EL表示是否启用,false是不启用,true是启用,默认是true &l ...
- Razor 语法快速参考
Razor 语法快速参考 本文引自:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx 语法名称 Raz ...
- 编译C++,找不到头文件(fatal error: string: No such file or directory)
在androidproject中编译C++时,找不到头文件,报错例如以下: fatal error: string: No such file or directory 解决该问题须要在Android ...
- Android.mk各种文件编译汇总
一.源代码编译 1.1 so预编译 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libAppArea LOCAL ...
- Java异常处理面试题归纳
1.error和exception有什么差别 error表示系统级的错误,是java执行环境内部错误或者硬件问题,不能指望程序来处理这种问题,除了退出执行外别无选择.它是Java虚拟机抛出的. exc ...
- End-to-End Tracing of Ajax/Java Applications Using DTrace
End-to-End Tracing of Ajax/Java Applications Using DTrace By Amit Hurvitz, July 2007 Aja ...



