WarpAffine 函数在与 openCL 和 opencv 一起使用时抛出错误

WarpAffine function throwing error when using with openCL and opencv

在我的一个 opencv 程序中,我使用 WarpAffine 函数来旋转 images.This 这就是我使用该函数的方式。

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

及其工作正常

为了提高 FPS,我尝试通过使用 openCL 来使用 GPU 所以我将这些添加到代码中

添加了 ocl header

#include "opencv2/core/ocl.hpp"

设置标志

ocl::setUseOpenCL(true);

更改数据类型

UMat cropimage,imgRotated;

然后使用相同的 warpaffine 函数

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

程序运行,但在终端出现错误

我的开发环境是Windows7连同visual studio2012,opencv版本是3.0.

无法准确找到问题所在,但在移至 opencv 版本 3.1.0 后问题得到解决。然后它没有抛出任何错误。还发现 WarpAffine 函数在 3.0 中有内存泄漏,这在 3.1.0 版本中也已修复