ошибка opencv с поддержкой cuda в переполнении стека

при выполнении этого кода:

#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.

1

Решение

Ошибка в значительной степени говорит вам, что происходит. Вы установили версию OpenCV, которая не была скомпилирована с поддержкой CUDA.

Загрузите исходный код OpenCV 2.4.3 и скомпилируйте его самостоятельно. Не забудьте передать следующий флаг в строке cmd CMake:

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

OpenCV имеет страницу это объясняет все эти флаги и многое другое.

Затем проверьте вывод 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 (или новее).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]