OpenCV 3.0 包括跟踪器
Posted
技术标签:
【中文标题】OpenCV 3.0 包括跟踪器【英文标题】:OpenCV 3.0 include tracker 【发布时间】:2015-10-15 12:49:06 【问题描述】:我想使用OpenCV 3.0 documentation site 中描述的跟踪器。在 OpenCV 2.x 中,需要重新编译 OpenCV,包括 contrib 库。但是就像在 OpenCV 3 文档中一样,我想我不必再重新编译它了,对吧?但是我必须在 C++ 中#include 什么?
我正在尝试这样做一段时间,但没有找到任何解决方案。谢谢!
编辑 谢谢!重新编译过程对我有用,没有任何错误。我仍然有几个错误:他没有找到'opencv_highgui300d.dll'、'opencv_imgcodecs300d.dll'和'opencv_core300d.dll'。
我解决了这个问题,因为我必须将“路径”系统变量更改为
...\cmake-output\vc12\x86\install\x86\vc12\bin
【问题讨论】:
【参考方案1】:据我所知,跟踪模块仍在“contrib”模块中。
您必须使用可以从this github repo 下载的 contrib 部分重新编译 OpenCV 3.0。当您使用 CMake 编译 OpenCV 时,您必须将 OPENCV_EXTRA_MODULES_PATH 属性指定为您提取模块的位置。
如果您有任何问题,请告诉我 :)
[编辑]
-
从here 下载OpenCV,从here 下载OpenCV_Contrib 模块。解压后放在同一个目录下(我的放在D:/OPENCV-BUILD)/
打开CMake并将源代码路径设置为D:/OPENCV-BUILD/opencv-master
将“构建二进制文件的位置”路径设置为 D:/OPENCV-BUILD/cmake-output/vc12/x86。这里,vc12 是 VS2013 使用的平台工具集,x86 是平台目标(你也可以为 x64 构建它)
按下配置按钮并选择您的生成器(也就是您想要使用的编译器)。选择 Visual Studio 12 2013(适用于 x86 构建)或 Visual Studio 12 2013 Win64(适用于 x64 构建)。
等待配置完成。会出现一堆红线,别担心,一切都好:)
搜索以下行并取消选中它们:
WITH_CUDA -> 这将禁用对使用 CUDA 技术的 GPU 加速算法的支持。您也可以使用 CUDA 支持构建库,但它有点复杂,而且需要更长的时间。如果您不需要它,请取消选中它:)
BUILD_DOCS、BUILD_PERF_TESTS、BUILD_TESTS。这些只是对库模块的一些测试(我从未使用过)...同样,如果您不需要它们,请取消选中它们:)
与 Matlab 相关的一切(如果您有这些选项)。我已经安装了 Matlab,CMake 想为 OpenCV 创建一些 Matlab 绑定。我在使用这些选项编译库时遇到了一些问题,所以我删除了它们(见下图)
-
搜索“extra”并在 OPENCV_EXTRA_MODULES_PATH 中设置 contrib 模块中“modules”文件夹的路径(我的是
D:/OPENCV-BUILD/opencv_contrib-master/modules
)
现在再次单击“配置”按钮。等到它说“配置完成”,然后按“生成”按钮。我们完成了 CMake!
在您选择的输出文件夹 (D:\OPENCV-BUILD\cmake-output\vc12\x86
) 中,您将找到 OpenCV.sln
。用VS2013打开。
在 Visual Studio 中,选择您要构建的配置(我建议您同时构建 Debug 和 Release)。假设您首先选择“调试”。现在右键单击解决方案并选择“构建解决方案”。等它完成。
在“CMakeTargets”文件夹中,您会找到一个名为 INSTALL 的项目。右键单击它并选择“仅项目 -> 仅构建安装”)。这会创建一个名为 install 的新文件夹,并将构建的结果复制到那里(lib、dll、包含文件等)。-
对“发布”配置重复第 10 步和第 11 步。
完成这些步骤后,您将在安装文件夹中拥有所需的文件(我的是
D:\OPENCV-BUILD\cmake-output\vc12\x86\install
)
【讨论】:
谢谢你:)!所以我尝试了这个并将其编译为我的 Visual Studio 版本到一个名为“发布”的新文件夹。这工作正常,没有任何错误。但那我该怎么办?我读到我必须在我的发布文件夹中编译 OpenCV.sln 文件,对吗?或者我可以将新的发布文件夹添加到 VS 的目录路径中吗?再次感谢您,您对我帮助很大! :) 在 CMake 中完成设置后,代码是“生成的”,而不是“编译的”。您必须打开 OpenCV.sln 文件并针对所需的平台和模式进行编译(例如 x86、Release 或 x64 Debug 等) 好的,我明白了。将CMake中的构建目录设置为OpenCV文件夹中的新文件夹是否正确,或者我应该将构建目录设置为OpenCV中已经存在的构建文件夹? 在 CMake 中任意设置构建目录。这是 CMake 将为您生成 Visual Studio 解决方案的文件夹。您使用的是什么版本的 Visual Studio?也许我可以为你截取一些过程的截图...... 我正在使用 VS 2013。截图会很完美!但由于我是 VS 新手,我也不知道如何准确地包含该库。我大致知道我必须在属性表中设置包含和库路径并在链接器中添加一些内容(添加一些 .lib 文件的名称),但我不确定这些步骤。【参考方案2】:以下链接指向一个非常清晰和很好的解释,说明如何正确安装 OpenCV 并且在编译和提供的库方面没有任何问题。
这是在 Windows 7 上进行全新安装的正确方法:
https://coderwall.com/p/wgaiwa/setup-opencv-with-vs2012-on-win7-64bit?p=1&q=author%3AVentsy
希望对你有帮助
【讨论】:
以上是关于OpenCV 3.0 包括跟踪器的主要内容,如果未能解决你的问题,请参考以下文章