【问题标题】:How to build opencv correctly in windows to get "opencv_createsamples.exe"如何在 Windows 中正确构建 opencv 以获取“opencv_createsamples.exe”
【发布时间】:2019-01-22 14:48:49
【问题描述】:

我想学习和使用使用 OpenCV 的 haarcascade 分类器来检测我选择的对象。我搜索了互联网,发现createsamples 实用程序有助于为正面和负面图像创建数据集。我知道如何在 python 中安装 OpenCV(pip install opencv-python 完美运行),但由于我需要使用该实用程序,我需要为我的 Windows 系统构建 OpenCV。


我在 Windows 中安装 OpenCV 的尝试

尝试 1:使用 MinGW 和 cmake

  • 使用 git 在 "C:\OpenCV"https://github.com/opencv/opencv 克隆最新的 OpenCV

  • 已安装 cmake

  • 使用带有默认选项的 MinGW(64 位)构建系统在 "C:\OpenCV\build" 使用 cmake 创建构建
  • mingw32-make
  • mingw32-make install

它在"C:\OpenCV\build\install"创建了一个安装目录

但令我惊讶的是,opencv_createsamples.exe 并不在场

opencv_visualisation.exeopencv_annotation.exeopencv_version.exe 等存在

screenshot of install files generated

screenshot of build options selected in cmake by default

很明显BUILD_opencv_apps默认是true,并且创建了除此之外的其他应用

仍在源文件夹中:createsamples.cppopencv_visualisation.cpp 和其他文件夹一起存在于 "C:\OpenCV\apps\"

尝试 2:Visual Studio 14_15 从官方网站构建

"C:\OpenCV401\build\x64\vc14\bin" 没有 opencv_createsamples.exe 让我感到惊讶 同样存在其他文件

screenshot of files present in build

尝试 3

screenshot of files present in this build


所以,我的问题是:

  • 为什么我第一次尝试时没有使用 MinGW 和 cmake 从源代码构建该实用程序
  • 为什么它们没有包含在官方版本中
  • 如何使用 MinGW 和 cmake 构建以正确获取该实用程序(可能需要一些构建配置?)

【问题讨论】:

  • 1) OpenCV 是一个库,它有一些示例和实用程序,但它们不是默认构建的,并不是每个人都需要它们。 2) 他们的官方版本是库,而不是实用程序或应用程序。正确的方法是通过 cmake,但请确保勾选 Build_opencv_apps 选项,然后在显示 OpenCV 模块的日志中勾选:它有一行显示 Applications: apps。对于第三个问题,我让其他人回答......但是我认为标题应该更倾向于最后一个问题,以便更多人回答你
  • 所以这意味着这是我在使用 cmake 和 mingw 时的问题,这就是我无法获得该实用程序的原因?
  • @api55 我在cmake 中使用默认选项,BUILD_opencv_apps 在配置中是true,并且还生成了其他应用程序,例如opencv_visualisation.exe,它们是我帖子中提到的应用程序的一部分,但是不是opencv_createsamples.exe
  • 我已删除最后一个问题并将标题更改为适当的标题。我现在还包括在构建问题时涉及 cmake 配置的选项的屏幕截图
  • 当您打开 Visual Studio 解决方案时,它是否有一个文件夹(在解决方案资源管理器中)显示应用程序?这个文件夹是否有一个名为 opencv_createsamples 的项目?

标签: windows visual-studio opencv mingw


【解决方案1】:

在最新的 OpenCV(4.0 及更高版本)中禁用了 Createsamples:here

【讨论】:

  • 只是在你的答案中多加一点,原因就在这个issue... 长话短说,它使用了 C Api,他们没有用 C++ 重写它
  • 感谢您澄清他们已删除该实用程序
  • 现在我应该找到其他方法来为我的分类器构建数据集
  • 我建议从 repo 构建稳定版本 3.4 并在那里使用它。
猜你喜欢
  • 2012-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 2018-07-12
  • 2011-06-02
  • 1970-01-01
相关资源
最近更新 更多