c++中如何调用opencv库

author author     2023-03-19     151

关键词:

一 在VC编译器下,在Project菜单下选择setting,弹出对话框。

1 设置预编译的头文件

选择C/C++ 【Category】,在下拉菜单中选择Preprocessor,然后在Additional Include directories 中输入以下几项:

C:\Program Files \OpenCV\cv\include (根据本人机器上OpenCV的安装路径进行设置,如在D盘,则写D: ,以下同)

C:\Program Files \OpenCV\otherlibs\highgui

C:\Program Files \OpenCV\cxcore\include(新版本需要)

C:\Program Files \OpenCV\otherlibs\cvcam\include

每一条之间用逗号隔开。其中C:\Program Files\Intel\opencv 为OpenCV的安装路径,这是通用的安装路径,建议最好采用这种设置,以方便大家交流;不然,每次都要重新设置路径,比较麻烦。

2 设置链接库

在 Link按键下的 Category下拉菜单中选择 Input选项(指定要连接的库文件,放弃连接的库文件hao ),在Additional library path中,输入:

C:\Program Files \OpenCV\lib

最后在 Setting For下拉菜单中依次选择 Win32 Debug和 Win32 Release,分别在Object /library modules 输入:

cv.lib highgui .lib cxcore.lib cvcam.lib

注意每个库之间用一个空格隔开。

或者直接在all configurations中的Object /library modules 输入:cv.lib highgui.lib cxcore.lib(新版本需要) cvcam.lib

(cxcore.lib highgui.lib 是几乎所有OpenCV程序都要用到的函数库,分别封装了基本的函数和图形界面接口,cv.lib中封装了大量的图像处理函数,cvcam.lib中封装了很多针对视频流的处理函数)

当前工程就可以使用OpenCV的函数了。

二 如果一直要使用OpenCV的函数,把其路径设置到系统目录下

在Tools 菜单下选择 Options 子菜单,在弹出的对话框中选择Directory,将用到的几个库的路径添加进去。以后只需将所用的库在Object /library modules下输入就可以了,不用再每次指定路径。

在Show directories for 下拉菜单中选择Include files,输入:

C:\Program Files \OpenCV\cv\include

C:\Program Files \OpenCV\otherlibs\highgui

C:\Program Files \OpenCV\cxcore\include(新版本需要)

C:\Program Files \OpenCV\otherlibs\cvcam\include

在Show directories for 下拉菜单中选择Library files,输入:

C:\Program Files \OpenCV\lib

注意:(防止每次都拷贝.dll文件)

我的电脑—属性—高级—环境变量—path—C:\Program Files\OpenCV\bin
参考技术A 不同版本的opencv包含的文件个数不一样的。这里我给出一个配置形式的安装方法
Vs2008+opencv1.0配置步骤
step1:安装vs2008
step2:安装OpenCV1.0
从http://www.opencv.org.cn 下载OpenCV安装程序。假如要将OpenCV安装到C:\Program Files\OpenCV。(下面附图为OpenCV 1.0rc1的安装界面,OpenCV 1.0安装界面与此基本一致。)在安装时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bin to the systerm PATH)。
配置Windows环境变量
检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。
Tools ->options->Projects and Solutions->VC++ Directories
“Show directiories for”下拉列表中选择”Includes files”(包含文件),在下面添加以下条目:
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\include
“Show directiories for”下拉列表中选择“Library files”(库文件)在下面添加以下条目:
C:\Program Files\OpenCV\lib
(1) 新建一个win32命令控制台项目opencvhello
(2) 在解决方案资源管理器中右键点击项目名称opencvhello,选择“属性”,
在“配置(C)”下拉列表中选择Debug, 然后“配置属性”->“链接器”->“输入”->附加依赖项,添加 cxcore210d.lib
cv210d.lib highgui210d.lib
在“配置(C)”下拉列表中选择Release, 然后“配置属性”->“链接器”->“输入”->附加依赖项,添加 cxcore210.lib
cv210.lib highgui210.lib
中间如果提示要保存的话,就保存。最后点击确定。
(3) 测试。用下列代码代替源代码,注意imagename中保存的是图片的硬盘地址,程序的运行结果是显示imagename指向的图片。
参考技术B 安装VS2008,+opencv2.1,比较简单,顺利,没有太多的配置(详情参考opencv中文论坛) 参考技术C 看看例程,http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5

如何在 c++ 中调用 openCV 中的 cvMorphologyEx?

】如何在c++中调用openCV中的cvMorphologyEx?【英文标题】:HowtocallcvMorphologyExinopenCVinc++?【发布时间】:2012-02-2022:04:10【问题描述】:我需要在我的图像处理项目中调用cvMorphologyEx,我使用这条线来做。cvMorphologyEx(src1,dest1,NULL,NULL,CV_M... 查看详情

如何在 C++ 类中调用静态库函数? [复制]

】如何在C++类中调用静态库函数?[复制]【英文标题】:HowtocallstaticlibraryfunctioninaC++class?[duplicate]【发布时间】:2019-07-3005:32:17【问题描述】:我有一个类,其头文件定义为:namespacemipclassCustomStaticpublic:staticconstchar*GetVersion();;而cl... 查看详情

如何在适用于 Android 和 iOS 的 C++ 跨平台库中正确链接 OpenCV?

】如何在适用于Android和iOS的C++跨平台库中正确链接OpenCV?【英文标题】:HowtoproperlylinkOpenCVinaC++cross-platformlibraryforAndroidandiOS?【发布时间】:2021-06-2604:45:37【问题描述】:我正在开发一个C++库,包括OpenCV,它将通过包装器和NuGet... 查看详情

如何在带有 VB.net GUI 的 C++ OpenCV 项目中使用 C# 库?

】如何在带有VB.netGUI的C++OpenCV项目中使用C#库?【英文标题】:HowdoIuseaC#libraryinC++OpenCVprojectwithaVB.netGUI?【发布时间】:2011-04-0110:42:20【问题描述】:我开发了一个使用OpenCV的非托管C++编写的应用程序,直到现在我一直在使用内置... 查看详情

在 C# 中调用 C++ 库 [关闭]

...遇到了很多问题。我想知道是否有书籍或指南可以告诉我如何做到这一点。【问题讨论】:geeklit.blogspot.com/2006/08/calling-c-lib-from-c.html见***.com/questions/ 查看详情

c++中动态库调用动态库如何调用啊

动态连接库的创建步骤:一、创建Non-MFCDLL动态链接库  1、打开File—>New—>Project选项,选择Win32Dynamic-LinkLibrary—>sampleproject—>工程名:DllDemo  2、新建一个.h文件DllDemo.h以下是引用片段:  #ifdefDllDemo_EXPORTS  #defi... 查看详情

如何在 OSX 中使用 C++ opencv highgui 将活动窗口设置为 opencv 图像

】如何在OSX中使用C++opencvhighgui将活动窗口设置为opencv图像【英文标题】:howtosettheactivewindowtoanopencvimageusingC++opencvhighguiinOSX【发布时间】:2012-01-3105:02:12【问题描述】:在C++中,如何强制将opencv窗口(例如,在imshow调用之后)置... 查看详情

linux下如何调用opencv库生成

首先先简介下linux系统下程序的库函数分为三种类型;1.静态函数库:在程序执行前加入到目标程序中;2.共享函数库:在程序启动的时候加载到程序中,被不同程序共享;3.动态函数库:在程序运行的任何时候动态的加载 linu... 查看详情

Go中的OpenCV(或类似库)[关闭]

...是,OpenCV没有GoAPI,那么最好的解决方案是什么?用.exec调用一个c++程序,用swig,找别的库做计算机视觉?谢谢。编辑:我想最大化性能,我对C++没问题。【问题讨论】:我已经 查看详情

如何找到在android应用程序中调用java方法的本机c++函数以及在哪个库中?

】如何找到在android应用程序中调用java方法的本机c++函数以及在哪个库中?【英文标题】:howtofindthenativec++functionwhocalledajavamethodinaandroidappandinwhichlibrary?【发布时间】:2021-04-0708:13:37【问题描述】:我正在对应用程序进行逆向工... 查看详情

如何从 c# web 服务调用 c++ Opencv 项目?

】如何从c#web服务调用c++Opencv项目?【英文标题】:Howtocallc++Oppencvprojectfromc#webservice?【发布时间】:2012-06-0615:41:15【问题描述】:我已经将图像识别算法实现为OpenCVc++项目,并且我有C#web服务。我想从我的c#web服务调用我的c++Openc... 查看详情

在 C++ 和 OpenCV 中调用其他文件中的函数

】在C++和OpenCV中调用其他文件中的函数【英文标题】:CallfunctionsinotherfilesinC++andOpenCV【发布时间】:2014-06-2701:53:12【问题描述】:我知道这可能是重复的,但实际上我已经阅读了几篇关于SO的帖子来尝试解决这个问题我在OpenCV和C... 查看详情

Python 库:如何从 Python 程序调用 C++ 函数?

】Python库:如何从Python程序调用C++函数?【英文标题】:LibraryforPython:HowtocallC++functionsfromPythonprogram?【发布时间】:2011-09-1220:34:10【问题描述】:有一个Python库,可以调用(可以在没有extern"C"的情况下调用C++格式的函数。请您提... 查看详情

opencv 和 c++ 编译版本无需运行库

】opencv和c++编译版本无需运行库【英文标题】:opencvandc++compilereleasewithoutneedlibraryforrun【发布时间】:2017-09-0319:33:51【问题描述】:首先我有简单的c++代码和opencv不管代码是什么现在在Windows中,我使用了VisualStudio,并将打开的cv... 查看详情

C# 窗口中的 C++ opencv 应用程序

...加到我的C#窗口。据我所知,opencv库适用于C++。我找到了如何从C#运行C++应用程序,但我不知道如何在C#窗体窗口中进行流式传输..有什么建议吗?【问题讨论】:.Net(dotNet)wrappersforOpe 查看详情

在android中c++里调用opencv(代码片段)

本文接上文函数创建方式和上文类似但cpp调用#include<opencv2/opencv.hpp>会报错找不到因此要在cmakelists.txt文件中引入opencv:#FormoreinformationaboutusingCMakewithAndroidStudio,readthe#documentation:https://d.android.com/studi 查看详情

在matlab中调用时无法在C++中使用opencv读取图像

】在matlab中调用时无法在C++中使用opencv读取图像【英文标题】:FailtoreadanimagewithopencvinC++whencallitinmatlab【发布时间】:2017-08-0207:13:09【问题描述】:我将在C++程序中使用cv::imread加载图像。当我直接在终端中运行它时,它运行良好... 查看详情

如何获得涉及 C++ 标准库的帧指针性能调用堆栈/火焰图?

】如何获得涉及C++标准库的帧指针性能调用堆栈/火焰图?【英文标题】:Howcanyougetframe-pointerperfcallstacks/flamegraphsinvolvingtheC++standardlibrary?【发布时间】:2021-07-0516:57:47【问题描述】:我喜欢使用perfrecord收集调用堆栈的fp方法,因... 查看详情