安装OpenCV
双击安装文件,会出现如下的界面,注意到界面是全英文的:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" title="Image:Opencv-install-step1.png" style="WIDTH: 324pt; HEIGHT: 248.25pt" o:button="t" href="/index.php/Image:Opencv-install-step1.png" alt="Image:Opencv-install-step1.png" type="#_x0000_t75"><imagedata o:href="http://www.opencv.org.cn/images/f/f9/Opencv-install-step1.png" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msoclip1/03/clip_image001.png"></imagedata></shape>
图 2‑1 VC6.0 下的安装-安装界面
点击“Next”后,安装程序会让用户选择OpenCV的根目录所在硬盘的位置,比如图中所示的“C:\Program Files\OpenCV”路径。我们以后用<opencv_root>来表示这个路径。用户可以选择安装到其它的路径下,推荐将OpenCV安装在C盘的OpenCV目录下。
<shape id="_x0000_i1026" title="Image:Opencv-install-step2.png" style="WIDTH: 322.5pt; HEIGHT: 246pt" o:button="t" href="/index.php/Image:Opencv-install-step2.png" alt="Image:Opencv-install-step2.png" type="#_x0000_t75"><imagedata o:href="http://www.opencv.org.cn/images/2/22/Opencv-install-step2.png" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msoclip1/03/clip_image003.png"></imagedata></shape>
图 2‑2 VC6.0 下的安装-路径设置
在安装时选择“将<…>\OpenCV\bin加入系统变量”(Add<...>\OpenCV\bin to the systerm PATH),这样做的目的是在运行程序的时候,OpenCV的动态链接库能够被访问的到,因为所有的动态链接库都放置于<opencv_root>\bin目录下。
对于特殊的路径,可以在“我的电脑”“属性”“高级”“环境变量”中添加上述变量,如:变量Path值:C:\OpenCV\bin 。
<shape id="_x0000_i1027" title="Image:Opencv-install-step3.png" style="WIDTH: 324pt; HEIGHT: 248.25pt" o:button="t" href="/index.php/Image:Opencv-install-step3.png" alt="Image:Opencv-install-step3.png" type="#_x0000_t75"><imagedata o:href="http://www.opencv.org.cn/images/f/f3/Opencv-install-step3.png" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msoclip1/03/clip_image005.png"></imagedata></shape>
图 2‑3 VC6.0 下的安装-环境变量设置
对于想要用OpenCV进行视频处理的用户而言,还需要安装微软的DirectX SDK开发包。首先从微软官方网站上下载DirectSDK,大约在200MB左右,注意要下载directx 9.0b 版本,不是後面的升级版本。
安装DirectX SDK;打开SDK的安装目录(一般为C:\DXSDK),找到BaseClasses文件夹,一般在C:\DXSDK\Samples\C++\DirectShow\BaseClasses,打开其中的BaseClasses.dsw(其中BaseClasses.sln为.net下的可执行文件);在“生成”目录下选择“批生成”在选项中选择“Debug”和“Release”,然後生成该项目; 打开C:\DXSDK\Samples\C++\DirectShow\BaseClasses文件夹,会发现两个文件夹——Debug和Release,将Debug中的strmbasd.lib文件和Release中的STRMBASE.lib文件拷到C:\DXSDK\Lib目录下; 在VC的工程中加入如下库文件和包含文件: 在vc.net下选择“工具”“选项”,在左边的目录下选择“项目”“VC++目录”在右上角的筐里选择“库文件”将C:\DXSDK\Lib加入库文件中;再选择“包含文件”,将
C:\DXSDK\Include
C:\DXSDK\Samples\C++\Common\Include
C:\DXSDK\Samples\C++\DirectShow\BaseClasses
加入其中;
注意:有必要将上述目录移到最上方,以免在编译时发生访问库的冲突!
打开OpenCV安装目录下的_make文件夹,启动其中的opencv.dsw工程(如: C:\OpenCV\_make\opencv.dsw);在vc中选择build----batch build ,所有64位的都不选,然後点build。这样就生成了以後大家经常用到的一些lib及dll,包括release和debug两个版本的。
在生成过程中可能会出现如下错误:
“fatal error LNK1181: 无法打开输入文件“cvauxd.lib”
“error C2039: “foreground_regions”: 不是“CvFGDStatModel”的成员”
解决的方法是:在“解决方案管理器”中打开“cvaux”项目的包含文件中(Include\External)的cvaux. h文件,找到上述foreground_regions成员,会发现此成员已被注释掉了,只要将其上一行末尾的“/”改为“*/”使该成员可见,再次启动项目,应该就可以编译通过了。 这个问题出现在OpenCV beta5 和 OpenCV RC1版本中,以后的版本会解决这个BUG。
启动_make目录下的另外一个工程“opencv_directshow.dsw” ,使其编译通过;
加入库文件及包含文件的方法:
C:\OpenCV\cv\include
C:\OpenCV\cvaux\include
C:\OpenCV\otherlibs\highgui
C:\OpenCV\cxcore\include
C:\OpenCV\otherlibs\cvcam\include
(上述文件属于常用文件,如果需要可自行添加另外的包含文件)加入库文件:
C:\OpenCV\lib
project - settings -all configurations
C/C++标签Category中选择Prepreocessor Additional include directories项,输入以“,”分开的相对路径(注意相对路径的格式与你的openCV文件夹与你的工程文件夹相对位置有关),如我的工程建立在 OpenCV的目录下,则我可以这样设置相对路径:
..\cvaux\include,..\cxcore\include,..\cv\include,..\otherlibs\highgui, ..\otherlibs\cvcam\include。当然,也可以输入绝对路径如
C:\OpenCV\cv\include…
Link标签 Category中选择General Object/library modules, 输入以空格分开的:
cvd.lib highguid.lib cvauxd.lib cxcored.lib cvcamd.lib
Link标签 Category中选择Input Object/library modules, 输入以空格分开的:
cvd.lib highguid.lib cvauxd.lib cxcored.lib cvcamd.lib
Link标签 Category中选择Input Additional Library path, 输入包含<opencv_root>\lib库的相对路径或绝对路径,我的工程相对路径设置为
..\lib
设置完以上点击确定。
加入openCV的工程到我的工程里并设置依赖关系
vc6: Project - Insert project into workspace - cv.dsp
同样加入
cvaux.dsp, cxcore.dsp, highgui.dsp
Project - Dependencies: cv选择cxcore; cvaux选择cv,cxcore; highgui选择cxcore; 我的工程选择所有。然后编译,应该是没问题了。
在项目的头文件中加入所用到的包含文件,如:
#include "cv.h"
#include "highgui.h"
一般来说这两个文件是必要的,其它头文件在用到时可自行加入,方法如上,即:在“附加包含目录”中加入包含文件,在“附加依赖项”中加入索引文件——.lib
在安装和编译过程中,无疑会出现很多问题,下面给出一些常见问题的解决方案。
· 编译其中的应用程序时,得到错误:streams.h not found.
出现这个错误时,是没有安装 DirectShow SDK ,它是 DirectX SDK 的一部分。 前面已经说明了如何安装 DirectX。
· 安装了 DirectX SDK 後,仍然有链接错误,提示:undefined or redefined "TransInPlace" filter class constructors etc.
确信按照前面所说的步骤进行安装的,特别注意搜索目录的次序。
· 当使用 cvcam 时,程序崩溃
确认是否已经注册了 ProxyTrans.ax 和 SyncFilter.ax
· 注册 *.ax (DirectShow filter)?
在“资源管理器”中用regsvr32.exe打开这个文件。在 Win2000 中可以通过右键点击Open with->Choose Program...->Browse...->c:\windows\system32\regsvr32.exe (路径可能有所差别)。你可以让计算机记住*.ax跟regsvr32.exe的联系,以後双击*.ax则可。
· Filter 不能被注册 (regsvr32 报告错误)
最可能的原因是 filter 需要的一些 DLLs 不在路径中。这种情况下,请确认 <OpenInstallFolder>\bin 在路径中。
· cxcore099d.dll 或 cxcored.lib 好像丢失了
cxcore099d.dll 是 cxcore DLL 的 DEBUG 版本,cxcored.lib 是 cxcore099d.dll 的输入库。打开Open OpenCV workspace, 选择 "cxcore" 作为 active project,并且选择 "Win32 Debug" 的配置. 编译建立库,这样就得到 bin\cxcore099d.dll 和 lib\cxcored.lib。 同样步骤可以生成其它所有的 OpenCV 组件。加 d 表示 Debug 版本。
· 编译 HighGUI ,得到错误 "mil.h is not found"
mil.h 是 Matrox Imaging Library (MIL) 的一个部分,提供 Matrox (或兼容) 视频采集卡,如 Meteor, Meteor II 等
如果你安装了一个这样的采集卡和MIL,添加 mil\include 和 mil\lib 到 Developer Studio 的搜索路径中(菜单 Tools->Options->Directories)。
如果你没有 MIL,忽略这个错误则可,文件 mil.h 只是用来编译带有 MIL 的 HighGUI "Win32 MIL Debug" 或者 "Win32 MIL Release"。选择HighGUI的 "Win32 Debug" 或者 "Win32 Release" 的配置(菜单 Build->Set Active Configuration...)来代替,这两个版本的HighGUI仍然能够通过 VFW 接口采集视频,处理 AVI 文件和静态图像。
· 如何调试 DirectShow filter?
- 打开带 FILTER 的 workspace (e.g. opencv.dsw)
-选择 filter 作为活动项目,在 debug 配置下编译它
-切换到“资源管理器”,注册 filter 的 debug 版本(例如 regsvr32 camshiftd.ax)(当 debug/release 版本切换的时候,只需要做一次就可以了,注册表里仅保存 filter 的名字)
- 回到 Developer Studio 然後开始 debugging 过程 (F5)。 在提示 “do you want to run to debug the module”下,选择 camshiftdemo 通过 camshift.ax 和 DirectX SDK 工具图形编辑器 graphedit 来调试 DirectShow filter。
- 在 graphedit 中建立 filter 图 (即 camera->camshift->renderer)
- 保存 graph (下次只要打开就可以了)
- 在filter中的 Transform 方法或其它位置设置断点。
- 运行 filter。
相关推荐
下面将详细介绍如何在VC中配置OpenCV。 #### OpenCV简介 OpenCV是由Intel开发并由多个组织维护的一个开源计算机视觉库,它包含了一系列计算机视觉、机器学习相关的算法和功能。这些功能包括但不限于图像和视频捕获...
本文将详细介绍如何在古老的Visual C++ 6.0(简称VC60)环境下配置OpenCV1.0,并通过一个简单的例子来展示其基本功能。 首先,安装OpenCV1.0库是配置过程的第一步。你需要下载OpenCV的对应版本,解压到一个合适的...
在安装好 OpenCV 之后,我们需要配置系统环境变量。右键点击计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> PATH -> 编辑,然后在“变量值”中添加 OpenCV 的 bin 目录路径,例如“E:\opencv\build\x64...
在本文中,我们将详细探讨如何在Visual C++ 6.0环境下安装和配置OpenCV库。OpenCV(开源计算机视觉库)是一个强大的工具,广泛应用于图像处理和计算机视觉领域。Visual C++ 6.0虽然是一款较老的开发环境,但因其稳定...
VC6下安装与配置 Wikipedia,自由的百科全书 本手册适应 OpenCV 1.0 安装。 目录 [隐藏] 1 安装Visual C++ 6.0 2 安装OpenCV 3 配置Windows环境变量 4 配置Visual C++ 6.0 4.1 全局设置 4.2 项目设置 ...
下面是一个具体的示例,演示如何使用OpenCV在VC环境中检测视频中的运动物体: 1. **读取视频**:使用OpenCV提供的函数`cvCaptureFromCAM()`打开摄像头或`cvCaptureFromFile()`读取视频文件。 2. **帧处理**:逐帧...
下面将详细介绍如何在Visual C++ 6.0下安装和配置OpenCV。 一、安装Visual C++ 6.0 Visual C++ 6.0是微软公司推出的一个集成开发环境,用于开发Windows平台下的应用程序。安装Visual C++ 6.0之前,需要确保计算机...
本篇文章将详细介绍如何在 Visual Studio 2010 (简称 VS2010) 中配置 OpenCV 2.3.1,并且解决在配置过程中可能遇到的问题。 #### 二、下载与准备 OpenCV 1. **下载 OpenCV** 首先访问官方网站 ...
下面将详细介绍如何在VC++6.0中配置OpenCV: 1. **下载OpenCV**: - 访问OpenCV官网或其他可靠源下载适用于VC++6.0的OpenCV版本。 - 下载完成后解压缩到一个合适的目录。 2. **添加OpenCV库路径**: - 打开VC++...
### 基于开源计算机视觉库OPENCV在VC中的应用 #### 一、引言 随着信息技术的发展,图像处理技术在诸多领域如医学、交通、工业自动化等得到了广泛应用。这些应用通常涉及到大量的图像数据处理,对实时性和处理速度...
对于每一个需要使用OpenCV的VC项目,还需要进一步配置所需的lib文件。操作步骤如下: 1. **选择项目设置**:在“Project”菜单中选择“Settings”。在弹出窗口中,确保“Setting for”选项为“All Configurations”...
在安装时,通常可以选择一个安装目录,例如这里的例子中使用的目录是“E:\OpenCV”。在安装过程中,需要确保选择了包含Visual Studio开发环境版本的预编译二进制文件。在这个例子中,我们关注的是针对Visual Studio ...
首先,要实现这个功能,你需要确保你的系统已经安装了OpenCV库,并且在VC6.0中正确配置了OpenCV的包含目录和库目录。OpenCV库通常包含多个头文件和库文件,这些文件是编译和链接OpenCV相关代码所必需的。在VC6.0中,...
设置库文件时,需要在“库目录”那栏,添加 Opencv 的库文件路径,如 C:\opencv\build\x86\vc9\lib 或 C:\opencv\build\x64\vc10\lib。然后,在“链接器”中,添加 Opencv 的库文件名,如 opencv_calib3d243d.lib、...
在本文中,我们将详细探讨如何在Windows 7 64位系统上安装Visual Studio 2015(VS2015)与OpenCV 3.1.0,并解决可能出现的常见问题。OpenCV是一个开源计算机视觉库,广泛应用于图像处理、机器学习等领域。而VS2015...
下面,我们将详细阐述如何在VC6.0中配置OpenCV环境,并利用其功能实现摄像头的实时捕获与图像处理。 首先,我们需要安装OpenCV库。下载OpenCV的最新版本并解压到一个目录,然后在VC6.0中设置包含目录和库目录,指向...
### OpenCV在VC.net2003下的安装与配置指南 **OpenCV**(开源计算机视觉库)是一款广泛应用于图像处理、计算机视觉等领域的强大工具。对于初学者来说,掌握如何在开发环境中正确配置OpenCV是非常重要的第一步。本文...
下面我们将详细介绍OpenCV的基本概念、功能,以及在Windows环境下如何针对Visual C++(VC)和Visual Studio(VS)进行安装。 **OpenCV基础知识** OpenCV最初由Intel公司发起,现已成为一个开源项目,由全球开发者...
### VS2010与OpenCV3.0.0在Win7下的安装配置详解 #### 一、前言 在Windows 7环境下使用Visual Studio 2010进行开发时,若想要集成OpenCV库来处理图像识别或计算机视觉相关的任务,首先需要正确安装和配置这些工具...