如何处理opencv gpu异常?是否有任何特定的错误代码 api 集用于 opencvgpu 异常处理?我尝试了很多搜索,但我只得到了 1 个错误代码,即 CV_GpuNotSupported。请帮帮我。
1 回答
虽然我假设您知道 CV_GpuNotSupported 不是 OpenCV 处理 GPU 异常的方式,事实上,当您尝试调用 gpu 方法而不使用-DHAVE_CUDA
或编译 OpenCV 时,它会处理错误,OpenCV-DHAVE_OPENCL
的方式(我还假设最新的 OpenCV 发布版本, 2.4.5) 处理错误代码,在这些文件中定义:
对于使用 NVIDIA CUDA 的方法:
https://github.com/Itseez/opencv/blob/2.4.5/modules/gpu/src/error.cpp
https://github.com/Itseez/opencv/blob/2.4.5/modules/gpu/src/precomp.hpp
对于使用 OpenCL 的方法:
https://github.com/Itseez/opencv/blob/2.4.5/modules/ocl/src/error.cpp
https://github.com/Itseez/opencv/blob/2.4.5/modules/ocl/src/precomp.hpp
至于 API,您可以使用cv::gpu::error
或cv::ocl::error
。或获取错误字符串,getErrorString
用于 cv::gpu 和getOpenCLErrorString
. 顺便说一句,对于 CUDA 的错误,您必须指定它是NPP、 NCV 、cufft还是cublas错误。