Сборка OpenCV с включенным и включенным OpenCL

Я пытаюсь запустить простой код с включенным OpenCL на OpenCV.

Я прочитал введение в документацию OCL и в соответствии с инструкциями собрал opencv с этим флагом: WITH_OPENCL=ON.

Я сделал это, выполнив cmake -DWITH_OPENCL=ON, а затем создал opencv на Mac (OS X Yosemite).

Затем я попытался запустить свой код, но, согласно моему коду, функция haveOpenCL() ложна.

#include <iostream>
#include <fstream>
#include <string>
#include <iterator>
#include <opencv2/opencv.hpp>
#include <opencv2/core/ocl.hpp>

using namespace std;

int  main ()
{
        cv::ocl::setUseOpenCL(true);
        cout << cv::ocl::haveOpenCL() << endl;
        if  ( ! cv::ocl::haveOpenCL ())
        {
                cout  <<  "OpenCL IS not avaiable ..."  <<  endl ;
                return 0;
        }

Кто-нибудь знает, как запустить OpenCV-OpenCL?

ОБНОВЛЕНИЕ:

Я проверил свой файл cvconfig.h в opencv/build, и вот что он говорит об OpenCL: /* Поддержка OpenCL / / #undef HAVE_OPENCL / / #undef HAVE_OPENCL_STATIC / / #undef HAVE_OPENCL_SVM */

Я предполагаю, что если OpenCL действительно включен, то вторая строка должна выглядеть примерно так: #define HAVE_OPENCL 1

Это генерируется автоматически, так как я могу это исправить, чтобы HAVE_OPENCL было равно 1?


person Nematode7    schedule 07.07.2015    source источник


Ответы (1)


Именно так я установил OpenCV 3.0 и так же проверил, работает ли он. Проверка документации здесь: http://docs.opencv.org/modules/ocl/doc/introduction.html

Чтобы правильно запустить модуль OCL, вам потребуется среда выполнения OpenCL, предоставленная поставщиком устройства, обычно это драйвер устройства.

Чтобы включить поддержку OCL, настройте OpenCV с помощью CMake с WITH_OPENCL=ON. Когда флаг установлен и установлен OpenCL SDK, создается полнофункциональный модуль OpenCV OCL. В противном случае модуль может не собраться.

Поэтому я бы попытался убедиться, что у вас есть графический процессор, который его поддерживает, а затем убедиться, что у вас есть драйверы (SDK?). Я действительно немного поработал с OpenCL перед установкой OpenCV, чтобы убедиться, что у меня есть некоторое понимание того, как они работают независимо.

person Biaspoint    schedule 18.07.2015
comment
можете ли вы ответить на этот вопрос - person Suraksha Ajith; 30.12.2016