c++ - 使用 VideoWriter_GPU 时如何解决 OpenCV 错误“函数未实现(调用的功能对于当前构建或平台已禁用)?

标签 c++ visual-studio-2010 opencv gpu

问题介绍

我在 Visual Studios 2010 中运行一个 opencv 项目并实现了 cuda 支持(有关我的设置的准确信息,请参阅 my previous question)。据我所知,所有 cuda 功能都运行良好 - 并且确实提高了图像处理的速度。

但是,我现在也想尝试通过将当前的 cv::VideoWriter 替换为 gpu::VideoWriter_GPU 函数来加快该项目中的视频写入功能。这样做的原因是 cv::VideoWriter 似乎以某种方式导致在调用 VideoWriter 的范围之外运行的进程速度减慢,从而导致 DirectShow 驱动程序中可用的图像被删除VideoCapture 函数,因此搞乱了我已经实现的算法。

问题

为了尝试解决这个问题,我现在用 VideoWriter_GPU 功能(和相应的语法)替换了 VideoWriter 调用,但是当我运行我的项目(在 Debug模式下编译和运行)时,出现以下错误- 消息(直接源自 gpu::VideoWriter_GPU 的调用):

OpenCv Error: The function/feature is not implemented (The called functionality 
is disabled for current build or platform) in unknown function, file 
c:slave\builds\wininstallermegapack\opencv\modules\gpu\src\precomp.hpp, line 131.

然后程序以

结束
   code -529697949 (0xe06d7363)

我目前故意不包括我的任何代码,因为错误消息非常明显地源自对 gpu::VideoWriter_GPU 的调用,这让我认为这不是编码或语法问题。 (如果您觉得我的代码对于回答这个问题是必要的,请发表评论。

到目前为止我的步骤

我怀念理解这条消息的确切含义或如何解释它的天赋。我的 opencv v2.4.4 是否根本不支持我想要的...?此功能是否在我的 Windows 7、64 位系统上根本不起作用...?

我已经检查了我能找到的尽可能多的可用 google-hits(与此错误消息和搜索词的组合有关,例如“opencv、gpu、VideoWriter_GPU,当前版本已禁用”),但不明白问题是什么或如何解决它。

相应的头文件和错误信息也可以找到here .

This postthis post建议错误消息试图告诉我 opencv 根本不提供使用我打算使用的函数或功能的选项。或者甚至根本不支持 cuda。但这完全违背了我的经验,因为我尝试使用的每一个 opencv gpu 函数似乎都运行良好。

问题

有人可以向我解释为什么这对我不起作用,更重要的是与我分享我应该怎么做才能使 VideoWriter_GPU 正常工作?


非常感谢!

最佳答案

也许这个链接可以让您了解问题所在:VideoReader_GPU not available, but built with NVCUVID? . 看来问题出在 CUDA_DISABLER 变量上。

关于c++ - 使用 VideoWriter_GPU 时如何解决 OpenCV 错误“函数未实现(调用的功能对于当前构建或平台已禁用)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16516937/

相关文章:

c++ - 将成员函数分配给其他函数

Unity : 4-point calibration/reprojection 的 OpenCV

python - OpenCV:去除 Tesseract OCR 的背景噪音

python - 忽略 OpenCV 中 waitKey() 上的键盘事件

visual-studio-2010 - 在 VS2012 中编译 F# 2.0 项目

c# - 如何在 C# 中从包含 XML 的字符串中读取数据?

c++ - "factory"方法是正确的模式吗?

c++ - 进程保留在应用程序退出时

c++ - c++ 中的多态性与模板化类

c# - 调试时不调用 Visual Studio Package Initialize 方法