在编写使用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>
分享到:
相关推荐
这是OpenCV 4.8.0的Windows版安装程序。OpenCV(Open Source Computer Vision Library)是一个开源的...这个版本适用于Windows操作系统,可以帮助用户快速安装和配置OpenCV环境,方便进行计算机视觉的开发和学习。
opencv2版本的安装包,主要用途为计算机视觉开发相关环境以及基于opencv实现动作/行为识别的开发基础环境。
windows开发环境和linux生产环境下配置opencv
在win7、win10下正常运行,部署至windows server报错Can't find dependent libraries,原因是server服务器缺省没有这些相关dll文件。
windows下opencv4.70源码以及编译好的运行build
这是OpenCV 4.9.0的Windows版安装程序。OpenCV(Open Source Computer Vision Library)是一个开源的...这个版本适用于Windows操作系统,可以帮助用户快速安装和配置OpenCV环境,方便进行计算机视觉的开发和学习。
OpenCV在Windows系统下QT项目中的环境配置
OpenCV入门及其在ROS环境下的应用
Windows 环境下编译OpenCV3.4.1和OpenCV-Contrib3.4.1生成的配置文件,下载后进行配置,即可使用。
opencv4.8.0人脸识别的类库,在windows 10 下 vs2022的cmaker编译。原生的opencv4.8.0是基于jdk11编译的。此版本是基于jdk1.8进行编译。可在相应的环境下运行。 opencv4.8.0人脸识别的类库,在windows 10 下 vs2022...
VC环境下调用OpenCV的环境设置,说明了在VC下如何进行环境的设置,快捷进行OPENCV的开发
java服务部署到linux调opencv需要的opencv环境。
opencv-4.8.0-windows.exe : windows下的包 opencv-4.8.0-android-sdk.zip : Android下的包 opencv-4.8.0.zip : openCV的源码 具体openCV的使用,可以看我的博客 : ...
关于openCV在 windows VS2019环境下的搭建,详细记录了本人openCV在windows下搭建时,查找的资料步骤,按照本人文章,逐步操作,相信您一定能在windows 搭建成功,祝您学习愉快。另附xfeatures2d缺失的文件
这是opencv3.4 windows下的软件包,在官方上下载的速度会很慢,特放在csdn上供大家下载。博客记录在vs2015上的配置过程。
opencv在VC2010 express下空白工程已编译测试通过。
关于VS2010对openCV的环境配置信息,简单实用
windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... vvvv windows 环境...
OpenCV for windows 源代码 OpenCV是Intel计算机视觉库。 它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法,拥有包括 300 多个C函数的跨平台的中、高层 API。 这里的源码已经...
使用opencv在vc6环境下进行距离变换