2015-10-15 153 views
0

我想使用跟踪器,在OpenCV 3.0 documentation site上描述。在OpenCV 2.x中,有必要重新编译包括contrib库在内的OpenCV。但正如在OpenCV 3文档中那样,我想我不必重新编译它,对吧?但是我必须在C++中包含什么?OpenCV 3.0包含跟踪器

我试图做这个退出一段时间,并没有找到任何解决方案。谢谢!

编辑 谢谢!重新编译过程对我来说没有任何错误。我还有几个错误:他没有找到'opencv_highgui300d.dll','opencv_imgcodecs300d.dll'和'opencv_core300d.dll'。

我解决了这个问题,因为我已经在“路径”系统变量更改为

...\cmake-output\vc12\x86\install\x86\vc12\bin

回答

5

据我所知跟踪模块仍然是在“contrib”模块中。

您必须使用可从this github repo下载的contrib部分重新编译OpenCV 3.0。当您使用CMake编译OpenCV时,必须指定OPENCV_EXTRA_MODULES_PATH属性作为您提取模块的位置。

如果您有任何问题,只是让我知道:)

[编辑]

  1. 下载OpenCV的here和OpenCV_Contrib模块从here。解压缩并将它们放在同一个目录中(我把它放在D:/ OPENCV-BUILD中)/
  2. 打开CMake并将源代码路径设置为D:/ OPENCV-BUILD/opencv-master
  3. 设置在D:/ OPENCV-BUILD/cmake-output/vc12/x86中创建“二进制文件”路径。在这里,VC12是VS2013和使用的平台工具集的目标平台(你可以构建它针对x64也)
  4. 按设置按钮,选择您的发电机(又名编译器,你想使用)。选择的Visual Studio 12 2013(为版本)或的Visual Studio 12 2013 Win64的(为版本)。
  5. 等到配置完成。红线一堆会出现,dont't担心它是以下行都好:)
  6. 搜索,并取消他们:

WITH_CUDA - >这将禁用GPU加速支持使用CUDA算法技术。您也可以使用CUDA支持构建库,但它稍微复杂一些,需要更长的时间。如果你不需要它,取消选中它:)

BUILD_DOCSBUILD_PERF_TESTSBUILD_TESTS。这些只是图书馆模块的一些测试(我从来没有使用过)...再次,如果你不需要它们,取消检查它们:)

与Matlab关联的所有东西(if你有这些选项)。我安装了Matlab,CMake想为OpenCV创建一些Matlab绑定。我有一些问题,在编制这些选项的库,所以我删除了他们(见下图)

enter image description here

  • 搜索“额外”,并在OPENCV_EXTRA_MODULES_PATH设定路径到 “模块” 的文件夹于contrib模块(我的是D:/OPENCV-BUILD/opencv_contrib-master/modules
  • enter image description here

  • 现在再次点击“配置”按钮。等到它显示“配置完成”,然后按下“生成”按钮。我们完成了CMake!

  • 在您选择的输出文件夹(D:\OPENCV-BUILD\cmake-output\vc12\x86)中,您会看到OpenCV.sln。使用VS2013打开它。

  • 在Visual Studio中,选择您想要构建的配置(我建议您为Debug和Release构建这两个配置)。假设您先选择“调试”。现在右键点击解决方案并选择“Build Solution”。等到它完成。

  • 在'CMakeTargets'文件夹中,您会找到一个名为INSTALL的项目。右键点击它并选择'Project Only - > Build Only INSTALL')。这将创建一个名为install的新文件夹,并将构建结果复制到那里(libs,dlll,include文件等)。
  • enter image description here

    为 '推出' 配置
  • 重复步骤10和11。
  • 这些步骤后,你将有你在你的安装文件夹所需要的文件(我的是D:\OPENCV-BUILD\cmake-output\vc12\x86\install
  • +0

    谢谢:)!所以我尝试了这一点,并将其编译为一个名为'release'的新文件夹。这工作正常,没有任何错误。但是,我还需要做什么?我读到我必须在我的发布文件夹中编译OpenCV.sln文件,对吗?或者我可以只添加新版本文件夹到VS中的目录路径?再次感谢你,你对我的帮助很大!:) – black

    +0

    在完成CMake中的设置之后,代码被“生成”,而不是“编译”。你必须打开OpenCV.sln文件并编译它所需的平台和模式(例如x86,Release或x64 Debug等) – rhcpfan

    +0

    好吧,我明白了。将CMake中的构建目录设置为OpenCV文件夹中的新文件夹还是应该将构建目录设置为OpenCV中已存在的构建文件夹? – black