Ошибка выдачи функции WarpAffine при использовании с openCL и opencv

В одной из моих программ opencv я использую функцию WarpAffine для поворота изображений. Вот как я использовал эту функцию.

warpAffine(cropimage, imgRotated, RotateMatrix, cropimage.size(), cv::INTER_LINEAR);

и работает нормально

Для улучшения FPS я попытался использовать GPU с помощью openCL, поэтому я добавил их в код.

Добавлен заголовок ocl

#include "opencv2/core/ocl.hpp"

установить флаг

ocl::setUseOpenCL(true);

изменить типы данных

UMat cropimage,imgRotated;

затем использовал ту же функцию warpaffine

warpAffine(cropimage, imgRotated, RotateMatrix, cropimage.size(), cv::INTER_LINEAR);

Программа запускается и в терминале получаю ошибку

введите здесь описание изображения

введите здесь описание изображения

Моя среда разработки — Windows7 вместе с Visual Studio 2012, версия opencv — 3.0.


person ganeshredcobra    schedule 23.08.2016    source источник


Ответы (1)


Не удалось точно определить, в чем проблема, но проблема была устранена при переходе на opencv версии 3.1.0. Тогда он не выдавал никакой ошибки. Также обнаружено, что функция WarpAffine имеет утечку памяти в версии 3.0, что также исправлено в версии 3.1.0.

person ganeshredcobra    schedule 26.08.2016