vc6.0下安装opencv和directshow.docx_第1页
vc6.0下安装opencv和directshow.docx_第2页
vc6.0下安装opencv和directshow.docx_第3页
vc6.0下安装opencv和directshow.docx_第4页
vc6.0下安装opencv和directshow.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安装OpenCV双击安装文件,会出现如下的界面,注意到界面是全英文的:点击“Next”后,安装程序会让用户选择OpenCV的根目录所在硬盘的位置,比如图中所示的“C:Program FilesOpenCV”路径。我们以后用来表示这个路径。用户可以选择安装到其它的路径下,推荐将OpenCV安装在C盘的OpenCV目录下。在安装时选择“将OpenCVbin加入系统变量”(AddOpenCVbin to the systerm PATH),这样做的目的是在运行程序的时候,OpenCV的动态链接库能够被访问的到,因为所有的动态链接库都放置于bin目录下。对于特殊的路径,可以在“我的电脑”“属性”“高级”“环境变量”中添加上述变量,如:变量Path值:C:OpenCVbin 。安装DirectX SDK对于想要用OpenCV进行视频处理的用户而言,还需要安装微软的DirectX SDK开发包。首先从微软官方网站上下载DirectSDK,大约在200MB左右,注意要下载directx 9.0b 版本,不是後面的升级版本。安装DirectX SDK;打开SDK的安装目录(一般为C:DXSDK),找到BaseClasses文件夹,一般在C:DXSDKSamplesC+DirectShowBaseClasses,打开其中的BaseClasses.dsw(其中BaseClasses.sln为.net下的可执行文件);在“生成”目录下选择“批生成”在选项中选择“Debug”和“Release”,然後生成该项目; 打开C:DXSDKSamplesC+DirectShowBaseClasses文件夹,会发现两个文件夹Debug和Release,将Debug中的strmbasd.lib文件和Release中的STRMBASE.lib文件拷到C:DXSDKLib目录下; 在VC的工程中加入如下库文件和包含文件: 在下选择“工具”“选项”,在左边的目录下选择“项目”“VC+目录”在右上角的筐里选择“库文件”将C:DXSDKLib加入库文件中;再选择“包含文件”,将 C:DXSDKInclude C:DXSDKSamplesC+CommonInclude C:DXSDKSamplesC+DirectShowBaseClasses加入其中;注意:有必要将上述目录移到最上方,以免在编译时发生访问库的冲突!编译OpenCV打开OpenCV安装目录下的_make文件夹,启动其中的opencv.dsw工程(如: C:OpenCV_makeopencv.dsw);在vc中选择build-batch build ,所有64位的都不选,然後点build。这样就生成了以後大家经常用到的一些lib及dll,包括release和debug两个版本的。 在生成过程中可能会出现如下错误: “fatal error LNK1181: 无法打开输入文件“cvauxd.lib” “error C2039: “foreground_regions” : 不是“CvFGDStatModel”的成员”解决的方法是:在“解决方案管理器”中打开“cvaux”项目的包含文件中(IncludeExternal)的cvaux. h文件,找到上述foreground_regions成员,会发现此成员已被注释掉了,只要将其上一行末尾的“/”改为“*/”使该成员可见,再次启动项目,应该就可以编译通过了。 这个问题出现在OpenCV beta5 和 OpenCV RC1版本中,以后的版本会解决这个BUG。启动_make目录下的另外一个工程“opencv_directshow.dsw” ,使其编译通过; 加入库文件及包含文件的方法: C:OpenCVcvinclude C:OpenCVcvauxinclude C:OpenCVotherlibshighgui C:OpenCVcxcoreinclude C:OpenCVotherlibscvcaminclude(上述文件属于常用文件,如果需要可自行添加另外的包含文件)加入库文件: C:OpenCVlib在项目中运用OpenCVproject - settings -all configurationsC/C+标签Category中选择Prepreocessor Additional include directories项,输入以“,”分开的相对路径(注意相对路径的格式与你的openCV文件夹与你的工程文件夹相对位置有关),如我的工程建立在 OpenCV的目录下,则我可以这样设置相对路径: .cvauxinclude,.cxcoreinclude,.cvinclude,.otherlibshighgui, .otherlibscvcaminclude。当然,也可以输入绝对路径如 C:OpenCVcvincludeLink标签 Category中选择General Object/library modules, 输入以空格分开的:cvd.lib highguid.lib cvauxd.lib cxcored.lib cvcamd.libLink标签 Category中选择Input Object/library modules, 输入以空格分开的: cvd.lib highguid.lib cvauxd.lib cxcored.lib cvcamd.libLink标签 Category中选择Input Additional Library path, 输入包含lib库的相对路径或绝对路径,我的工程相对路径设置为 .lib设置完以上点击确定。 加入openCV的工程到我的工程里并设置依赖关系 vc6: Project - Insert project into workspace - cv.dsp同样加入cvaux.dsp, cxcore.dsp, highgui.dspProject - 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:windowssystem32regsvr32.exe (路径可能有所差别)。你可以让计算机记住*.ax跟regsvr32.exe的联系,以後双击*.ax则可。 Filter 不能被注册 (regsvr32 报告错误)最可能的原因是 filter 需要的一些 DLLs 不在路径中。这种情况下,请确认 bin 在路径中。 cxcore099d.dll 或 cxcored.lib 好像丢失了 cxcore099d.dll 是 cxcore DLL 的 DEBUG 版本,cxcored.lib 是 cxcore099d.dll 的输入库。打开Open OpenCV workspace, 选择 cxcore 作为 active project,并且选择 Win32 Debug 的配置. 编译建立库,这样就得到 bincxcore099d.dll 和 libcxcored.lib。 同样步骤可以生成其它所有的 OpenCV 组件。加 d 表示 Debug 版本。 编译 HighGUI ,得到错误 mil.h is not foundmil.h 是 Matrox Imaging Library (MIL) 的一个部分,提供 Matrox (或兼容) 视频采集卡,如 Meteor, Meteor II 等如果你安装了一个这样的采集卡和MIL,添加 milinclude 和 millib 到 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论