终于解决:CUDA: OpenCV requires enabled ‘cudev‘ module from ‘opencv_contrib‘

94 篇文章 14 订阅
27 篇文章 4 订阅

用 cmake-gui 配置 WITH_CUDA 时出现这个错误提示。

CMake Error at modules/core/CMakeLists.txt:40 (message):
  CUDA: OpenCV requires enabled 'cudev' module from 'opencv_contrib'
  repository: https://github.com/opencv/opencv_contrib

按照错误提示解决方案提供的网址:https://github.com/opencv/opencv_contrib看了一下,内容如下:

OpenCV额外模块的存储库

此存储库用于开发所谓的“额外”模块,即功能。新模块通常没有稳定的API,而且没有经过很好的测试。因此,它们不应该作为OpenCV官方发行版的一部分发布,因为该库保持二进制兼容性,并试图提供良好的性能和稳定性。

因此,所有的新模块都应该单独开发,并首先在opencv\u contrib存储库中发布。稍后,当模块成熟并流行起来时,它被移动到中心OpenCV存储库中,开发团队为该模块提供生产质量支持。

如何用额外的模块构建OpenCV

您可以构建OpenCV,因此它将包含此存储库中的模块。Contrib模块正在不断开发中,建议将它们与OpenCV的主分支或最新版本一起使用。

以下是CMake命令:

$ cd<opencv\u build\u directory>

$ cmake-DOPENCV\u EXTRA\u MODULES\u PATH=<opencv\u contrib>/MODULES<opencv\u source\u directory>

$ make-j5

因此,OpenCV将与opencv_contrib存储库中的所有模块一起构建在<opencv_build_directory>中。如果您不需要所有的模块,请使用CMake的BUILD_opencv_*选项。比如这个例子:

$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -DBUILD_opencv_legacy=OFF <opencv_source_directory>

如果您还想从每个模块的“samples”文件夹中构建示例,还可以包括“-DBUILD_EXAMPLES=ON”选项。

如果您更喜欢使用cmake的gui版本(cmake-gui),则可以通过执行以下操作在opencv core中添加opencv_ contrib模块:

  1. 启动 cmake-gui。
  2. 选择 opencv 源代码文件夹和构建二进制文件的文件夹(界面的两种以上形式)。
  3. config 按钮,您将在中央界面中看到所有 opencv 构建参数。
  4. 浏览参数并查找名为 OPENCV_EXTRA_MODULES_PATH 的表单(使用搜索表单快速关注它)。
  5. 使用浏览按钮,按照<opencv_contrib>/MODULES值的正确路径名完成此OPENCV_EXTRA_MODULES_PATH。
  6. configure 按钮,然后按 generate 按钮(第一次,您将被询问使用哪种 makefile 样式)。
  7. 使用您选择的方法构建 opencv 核心(如果在步骤6中选择了Unix makefile,则生成并安装 make)。
  8. 要运行,需要添加 contrib 模块的链接器标志,以便在 code/IDE中使用它们。例如,要使用aruco模块,将添加 “-lopencv_aruco” 标志。

更新存储库文档

为了保持包含所有贡献模块的清晰概述,需要创建/调整以下文件:

更新 readme.md 模块文件夹下的文件。在这里,您可以添加带有单行描述的模型。

添加自述文件.md在你自己的模块文件夹里。本自述文件解释了哪些功能(单独的功能)可用,链接到相应的示例,并更详细地解释了模块的预期功能。如果需要任何额外的需求来构建没有问题的模块,也可以在这里添加它们。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值