笔者按照网上的教程安装了opencv,遇到了上述的问题按照下面的路径,打开相应的文件夹:
/home/lvv/Downloads/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp
将 #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为:
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
如下图所示:
#include "precomp.hpp"
//#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
// GraphCut has been removed in NPP 8.0
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
void cv::cuda::graphcut(GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }
void cv::cuda::graphcut(GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)