繁体   English   中英

C ++中支持cuda的错误opencv

[英]error opencv with cuda support in c++

执行此代码时:

#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"

int main (int argc, char* argv[]){
try
{

    cv::Mat src_host = cv::imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
    cv::gpu::GpuMat dst, src;
    src.upload(src_host);

    cv::gpu::threshold(src, dst, 128.0, 255.0, CV_THRESH_BINARY);

   cv::Mat result_host;
  dst.download(result_host);
    cv::imshow("Result", result_host);
    cv::waitKey();
}
catch(const cv::Exception& ex)
{
    std::cout << "Error: " << ex.what() << std::endl;
}
return 0;

}

编译正常...但是我运行了,但出现以下错误:

OpenCV Error: Unknown error code -216 (The library is compiled without CUDA support) in copy, file /home/cbib/Descargas/OpenCV-2.4.3/modules/core/src/gpumat.cpp, line 736

我已经安装了opencv cuda,并且在所有方面都已显示。

我的操作系统是Ubuntu Server 10.04。

该错误几乎可以告诉您发生了什么。 您安装了未使用CUDA支持编译的OpenCV版本。

下载OpenCV 2.4.3源代码并自己编译。 请记住在cmd行上将以下标志传递给cmake

-D WITH_CUDA=YES -D CUDA_TOOLKIT_ROOT_DIR="/path/to/cuda/toolkit"

OpenCV的页面解释了所有这些标志以及更多。

然后在执行make之前检查cmake的输出,并确保它在您的计算机上安装了合适的CUDA版本。 输出将显示如下内容:

--   Other third-party libraries:
--     Use IPP:                     NO
--     Use TBB:                     NO
--     Use Cuda:                    YES
--     Use OpenCL:                  NO
--     Use Eigen:                   YES (ver 3.1.2)

如果发生故障,您将看到:

-- Could NOT find CUDA: Found unsuitable version "4.0", but required is at least "4.1" (found /usr/local/cuda)

您需要下载并安装CUDA Toolkit 4.1 (或更高版本)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM