【问题标题】:Connected Components in OpenCV 3.4.0 with with cuda (on GPU)OpenCV 3.4.0 中带有 cuda 的连接组件(在 GPU 上)
【发布时间】:2018-08-24 12:05:04
【问题描述】:

我用 c++ 和 OpenCV 3.4.0 编写了一个用于连接组件标记的程序。

我使用了ConnectedComponentsWithStats 函数。现在我可以用 OpenCV + cuda 编写相同的程序。但是 OpenCV 没有用于 cuda 的 ConnectedComponentsWithStats 函数。

有人对我说我必须使用labelComponents函数,但是当我写cv::cuda::labelComponents时,C++对我说:

"cv::cuda::" has no member "labelComponents"

【问题讨论】:

    标签: c++ opencv gpu connected-components


    【解决方案1】:

    确实在cv::cuda:labelComponents

    1. 您是否使用旧支持进行编译?
    2. 您是否包含了适当的头文件?我相信是"opencv2/cudalegacy/cudalegacy.hpp" 见:cudalegacy.hpp File Reference

    【讨论】:

    • 没有朋友。我没有包括“opencv2/cudalegacy/cudalegacy.hpp”。但是现在当我从“opencv2/cudalegacy.hpp”中包含它时,现在视觉工作室向我展示了 113 个错误。错误:严重代码描述项目文件行抑制状态错误 C1083 无法打开包含文件:'cuda_runtime.h':没有这样的文件或目录
    • 那是另一个问题。你能用任何cv::cuda函数编译你的项目吗?
    • 是的,亲爱的。我能。但是当我包含“opencv2/cudalegacy.hpp”时,就会出现这个问题!
    • 我知道 cuda_runtime.h 在路径 "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include" 中。我将此路径添加到我的项目中,但没有解决我的问题
    【解决方案2】:

    我通过这两个步骤解决了我的问题:

    1) Project->Build Dependencies->Build Customisazions...->勾选CUDA 9.1

    2) Project->Properties->Linker->Input->Additional Dependencies->“cudart.lib”

    【讨论】:

      猜你喜欢
      • 2011-05-17
      • 2018-07-01
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 2014-01-02
      • 2012-09-23
      • 2019-02-20
      相关资源
      最近更新 更多