Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 如何在cuda程序中读取图像?_Opencv_Cuda - Fatal编程技术网

Opencv 如何在cuda程序中读取图像?

Opencv 如何在cuda程序中读取图像?,opencv,cuda,Opencv,Cuda,运行cuda程序时找不到opencv库 我用C++做了一些图像处理,它是有效的。但它对于实时系统来说太慢了。然后我试着用cuda来做。 当我通过nvcc test.cu运行我的.cu文件时,它有一个错误,即标识符Mat未定义,这意味着cuda找不到opencv库。有没有办法解决这个问题?您需要将模块与CUDA一起使用 使用打开CV,选中-DWITH_CUDA=ON。并选中-DBUILD_EXAMPLES=ON 使用cv::cuda::GpuMat代替cv::Mat 了解 通过使用cmake而不是

运行cuda程序时找不到opencv库

我用C++做了一些图像处理,它是有效的。但它对于实时系统来说太慢了。然后我试着用cuda来做。 当我通过nvcc test.cu运行我的.cu文件时,它有一个错误,即标识符Mat未定义,这意味着cuda找不到opencv库。有没有办法解决这个问题?

您需要将模块与CUDA一起使用

使用打开CV,选中-DWITH_CUDA=ON。并选中-DBUILD_EXAMPLES=ON

使用cv::cuda::GpuMat代替cv::Mat

了解


通过使用cmake而不是nvcc解决了该问题。CmakeLists可以找到OpenCV。

这听起来像是编译错误,而不是运行时错误,如果您的诊断完全错误,请提供更多详细信息,如操作系统、IDE以及编译代码时使用的完整编译命令。我使用cmake而不是nvcc来修复它,然后我可以在CMakeLists中找到opencv。这是不正确的。使用cv::cuda::GpuMat类不需要opencv_contrib模块。此外,问题是关于未定义的Mat标识符,它与GPU功能没有任何直接联系。是的,但它包含许多cuda模块。再见我的链接,使用cudacodec,您可以将视频直接解码到gpuMat,而无需将双拷贝帧复制到主机内存并返回到视频内存。