в CMake, я построил OpenCV с OpenCL Enable ON (он автоматически обнаружил путь OPENCL_INCLUDE_DIR
, но OPENCL_LIBRARY
был пуст, даже после нажатия кнопки config. Для OPENCL_LIBRARY
я не вижу кнопку просмотра либо после генерации OpenCV исполняемые файлы, то я запускаю код нижеBuild OpenCV с поддержкой OpenCL
#include <iostream>
#include <fstream>
#include <string>
#include <iterator>
#include <opencv2/opencv.hpp>
#include <opencv2/core/ocl.hpp>
int main()
{
if (!cv::ocl::haveOpenCL())
cout << "OpenCL is not avaiable..." << endl;
else cout << "OpenCL is AVAILABLE! :) " << endl; //this is the output
cv::ocl::setUseOpenCL(true);
cout << context.ndevices() << " GPU devices are detected." << endl;
for (int i = 0; i < context.ndevices(); i++)
{
cv::ocl::Device device = context.device(i);
cout << "name: " << device.name() << endl;
cout << "available: " << device.available() << endl;
cout << "imageSupport: " << device.imageSupport() << endl;
cout << "OpenCL_C_Version: " << device.OpenCL_C_Version() << endl;
cout << endl;
} //this works & i can see my video card name & opencl version
cv::ocl::Device(context.device(0));
}
Когда я сделать использование UMat
для измерения производительности, производительность с (UMAT) или без (Mat) OpenCL не имеет никакого значения.
Я скачал AMD-APP-SDK от этого link и попробовал для сборки, но не было открытых файлов OpenCL (вместо этого я увидел файлы opengl dll [glew32.dll & glut32.dll]. Как я могу создать OpenCV с OpenCL, связав OPENCL_LIBRARY?
Я нашел opencl.dll в C:/windows/System32, удалил его. Однако GPU был использован. также вы можете ответить [это] (http://stackoverflow.com/questions/41688751/understanding-the-usage-of-opencl-in-opencv-mat-umat-objects?noredirect1_comment70603090_41688751) Вопрос –