Основываясь на изменениях в openCV 3.0 и openCL, я не могу заставить pyMeanShiftFiltering работать с помощью openCL. Я знаю, что ocl :: meanShiftFiltering поддерживается в openCV 2.4.10. Для выполнения этих двух функций требуется одинаковое количество времени для выполнения.openCV 3.0, openCL и meanShiftFiltering
Как я могу проверить, какие функции в openCV 3.0 поддерживаются в openCL? Какие-либо предложения?
#include <opencv2/core/ocl.hpp> //attempting to use openCL
using namespace cv;
using namespace ocl;
void meanShiftOCL()
{
setUseOpenCL(true)
UMat in, out;
imread("./images/img.png").copyTo(in);
pyrMeanShiftFiltering(in, out, 40, 20, 3);
}
//not using openCL
void meanShift()
{
Mat in, out;
imread("./images/img.png").copyTo(in);
pyrMeanShiftFiltering(in, out, 40, 20, 3);
}
Спасибо за ваш ответ. Это облом, что у pyrMeanShiftFiltering нет реализации openCL. В версии 2.4.10 ocl :: meanShiftFiltering доступен. По какой причине они забрали его? \ n Есть ли способ в документации 3.0, чтобы определить, включена ли функция openCL? –
Я не уверен, почему это произошло - возможно, вы можете создать запрос функции (https://github.com/Itseez/opencv/issues) или даже добавить реализацию и сделать запрос на pull. О документации - я не нашел возможности определить, доступна ли реализация OpenCL ... – avtomaton
Как я вижу, существует ** версия cuda ** 'pyrMeanShiftFiltering'. Также есть ** OpenCL ** - заряженные 'pyrUp' и' pyrDown'. – avtomaton