在编写使用OpenCV函数的程序时,首先,需要正确的配置工程设置。主要是设置预先编译的头文件的路径与动态链接库的路径。<o:p></o:p>
一 在VC编译器下,在Project菜单下选择setting,弹出对话框。<o:p></o:p>
在Setting For 下拉菜单中选择All Configurations , 为Debug 和Release版本设置配置。<o:p></o:p>
<o:p> </o:p>
1 设置预编译的头文件<o:p></o:p>
选择C/C++ 【Category】 ,在下拉菜单中选择Preprocessor,然后在Additional Include directories 中输入以下几项:<o:p></o:p>
C:\Program Files \OpenCV\cv\include (根据本人机器上OpenCV的安装路径进行设置,如在D盘,则写D: ,以下同)<o:p></o:p>
C:\Program Files \OpenCV\otherlibs\highgui<o:p></o:p>
C:\Program Files \OpenCV\cxcore\include(新版本需要)<o:p></o:p>
C:\Program Files \OpenCV\otherlibs\cvcam\include<o:p></o:p>
<o:p> </o:p>
每一条之间用逗号隔开。其中C:\Program Files\Intel\opencv 为OpenCV的安装路径,这是通用的安装路径,建议最好采用这种设置,以方便大家交流;不然,每次都要重新设置路径,比较麻烦。<o:p></o:p>
<o:p> </o:p>
2 设置链接库<o:p></o:p>
在 Link按键下的 Category下拉菜单中选择 Input选项(指定要连接的库文件,放弃连接的库文件),在Additional library path中,输入:<o:p></o:p>
<o:p> </o:p>
C:\Program Files \OpenCV\lib<o:p></o:p>
<o:p> </o:p>
最后在 Setting For下拉菜单中依次选择 Win32 Debug和 Win32 Release,分别在Object /library modules 输入:<o:p></o:p>
cv.lib highgui .lib cxcore.lib cvcam.lib<o:p></o:p>
注意每个库之间用一个空格隔开。<o:p></o:p>
或者直接在all configurations中的Object /library modules 输入:cv.lib highgui.lib cxcore.lib(新版本需要) cvcam.lib<o:p></o:p>
(cxcore.lib highgui.lib 是几乎所有OpenCV程序都要用到的函数库,分别封装了基本的函数和图形界面接口,cv.lib中封装了大量的图像处理函数,cvcam.lib中封装了很多针对视频流的处理函数)<o:p></o:p>
<o:p> </o:p>
当前工程就可以使用OpenCV的函数了。<o:p></o:p>
<o:p> </o:p>
二 如果一直要使用OpenCV的函数,把其路径设置到系统目录下<o:p></o:p>
在Tools 菜单下选择 Options 子菜单,在弹出的对话框中选择Directory,将用到的几个库的路径添加进去。以后只需将所用的库在Object /library modules下输入就可以了,不用再每次指定路径。<o:p></o:p>
在Show directories for 下拉菜单中选择Include files,输入:<o:p></o:p>
<o:p> </o:p>
C:\Program Files \OpenCV\cv\include<o:p></o:p>
C:\Program Files \OpenCV\otherlibs\highgui<o:p></o:p>
C:\Program Files \OpenCV\cxcore\include(新版本需要)<o:p></o:p>
C:\Program Files \OpenCV\otherlibs\cvcam\include<o:p></o:p>
<o:p> </o:p>
在Show directories for 下拉菜单中选择Library files,输入:<o:p></o:p>
<o:p> </o:p>
C:\Program Files \OpenCV\lib<o:p></o:p>
<o:p> </o:p>
注意:(防止每次都拷贝.dll文件)<o:p></o:p>
我的电脑—属性—高级—环境变量—path—C:\Program Files\OpenCV\bin<o:p></o:p>
<o:p> </o:p>
三 关于DLL的一点介绍。<o:p></o:p>
所谓:“工欲善其事,必先利其器”。链接的问题是使用OpenCV时一个经常遇到的问题,有必要做一简单介绍。<o:p></o:p>
动态链接DLL与静态链接库一样包含了所提供函数的目标代码,但程序运行动态链接库中的函数时,连接程序并不将包含在动态链接库中的目标函数的代码复制至运行文件,而只是简单的记录了函数的位置信息,程序在运行时根据这些信息找到函数的目标代码。(运行时连接,故称为动态链接库。至于动态链接库的详细介绍以及其与静态链接库的优缺点比较,参见参考文献。)<o:p></o:p>
以上的设置就可以保证找到所需的动态链接库,不过我们还是有必要对系统怎样找到DLL文件 做一了解:<o:p></o:p>
函数在动态链接库中的位置信息放在一个独立的导入库文件中(以.lib为后缀)Windows将遵循下面的搜索顺序来定位DLL:
1. 包含EXE文件的目录,
2. 进程的当前工作目录,
3. Windows系统目录,
4. Windows目录,
5. 列在Path环境变量中的一系列目录。
这样 , 如果运行时仍然报错:不到*.DLL, 那么,就将所需的*.DLL粘贴到可执行文件的文件夹下<o:p></o:p>
▲这里有一个很容易发生错误的陷阱。如果你使用VC++进行项目开发,并且为DLL模块专门创建了一个项目,然后将生成的DLL文件拷贝到系统目录下,从应用程序中调用DLL模块。到目前为止,一切正常。接下来对DLL模块做了一些修改后重新生成了新的DLL文件,但你忘记将新的DLL文件拷贝到系统目录下。下一次当你运行应用程序时,它仍加载了老版本的DLL文件,这可要当心!<o:p></o:p>
▲在发布自己的程序时,一定要记得提供相应的动态链接库。<o:p></o:p>
参考文献:<o:p></o:p>
1 VC6常用项目参数设置之比较 作者 陆其明<o:p></o:p>
face=Times New Roman color=#0000ffhttp://www.vchelp.net/itbookreview/view_paper.asp?paper_id=794<o:p></o:p>
2亲密接触VC6.0编译器 作者 陆其明<o:p></o:p>
face=Times New Roman color=#0000ffhttp://www.vchelp.net/itbookreview/view_paper.asp?paper_id=571<o:p></o:p>
3 <<windows操作系统原理>> P378<o:p></o:p>
关于操作系统与动态链接库的一个不错的说明<o:p></o:p>
4 face=Times New Roman color=#0000ffhttp://www.vczx.com/article/show.php?id=98<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
补充:一些关于VC调试的小技巧:<o:p></o:p>
调试时基本上都在Release版本下即可,所以可以把Debug删掉,具体方法是,在Build->Configurations中,将该工程的Win32 Debug给Remove掉,只留下Release版本。<o:p></o:p>
为保证调试时能看到调试信息,在 Project->setting->C/C++,Catelog一栏选中general,然后在Debug info 一项里选择”Program Database”;在Catelog一栏选中Optimizations,然后选择“Disable(Debug)”;最后在setting->Link下,在Catelog一栏选中general,将Generate debug info复选框选中。这样一来,尽管在Release版本下调试程序,仍然会看到Debug信息。<o:p></o:p>
分享到:
相关推荐
在Windows XP系统下,使用VC6.0进行OpenCV编程,需要遵循特定的步骤来确保所有必要的头文件和动态链接库(DLLs)被正确引用。以下是一个详细的设置流程: ##### 配置工程设置 1. **设置预编译的头文件路径** 在...
描述中提到的环境是Windows XP操作系统,使用Visual Studio 2010作为IDE(Integrated Development Environment),并已经安装了OpenCV 2.4.5库。OpenCV是一个开源的计算机视觉库,包含了大量的图像和视频处理函数,...
同时,由于目标是在Windows XP环境下编译,可能需要考虑系统的兼容性问题。 6. 游戏接口分析:为了与QQ Game的《大家来找茬》进行交互,开发者可能需要逆向工程游戏的网络通信协议或者内存读取,以便于辅助工具能...
在Windows 7操作系统中安装Microsoft Visual C++ 6.0(简称VC6)可能会遇到一些问题,因为这个版本的开发环境主要设计用于更早的操作系统,如Windows 98和Windows XP。不过,通过一些调整和技巧,我们仍然可以在Win7...
该工具主要用于将数据集PASCAL VOC-release4中的模型进行工程化,使其能在C++环境下运行,以实现更快的计算速度和更高效的内存管理。PASCAL VOC是一个广泛使用的图像分类和对象检测数据集,包含了多个类别,为算法...
实验所需的硬件设备包括计算机、USB摄像头和三脚架,软件环境包括Windows XP操作系统、VC6.0开发环境和OpenCV1.0等。 在图像增强技术中,本实验重点关注直方图均衡化和基于梯度场重建的方法。直方图均衡化通过灰度...
在Windows XP环境下,Visual C++ 6.0是一个广泛使用的开发工具,它提供了强大的集成开发环境(IDE)和C++编译器,支持MFC(Microsoft Foundation Classes)库,这使得开发者能够快速创建Windows应用程序。...
在Windows操作系统中,它用于支持应用程序的依赖管理和UI增强功能,比如XP风格的外观在Vista及更高版本上。 关于GIF图片分解的实现,开发者可能需要了解以下知识点: 1. **GIF文件结构**:包括逻辑屏幕描述、全局...
- xpReadMe.txt:这可能是一个针对Windows XP用户的额外说明文件,因为“xp”通常关联于那个操作系统版本。 综上所述,这个项目可能是一个基于C++的图形图像处理程序,包含了一个或多个简单的图像处理算法,使用...