OpenCV3.4:C++中CPU和CUDA的大小调整结果不匹配



我正在使用带有C++的OpenCV来调整帧的大小

以下是我在CPU中使用的代码

cv::resize(in_mat, out_mat, out_mat.size(), 0, 0, cv::INTER_LINEAR);

CUDA的代码如下

cv::cuda::resize(dev_in_mat, dev_out_mat, dev_out_mat.size(), 0, 0, cv::INTER_LINEAR, stream);

问题是,两者的输出不同。为什么会发生这种情况?

这是OpenCV中的一个已知问题。请参阅此处的问题报告

目前似乎有两个版本,一个带有npp(遗留(,另一个没有npp(更新(:

旧版和更新版本

这个问题似乎也是一个活跃的问题,并且已经被提升到优先级:正常,这意味着我们应该很快看到修复,只需遵循该线程,你就会没事的!

希望我能帮上忙,这是我在SO:D上的第一篇帖子

编辑:

要在没有NPP的情况下构建,必须在OpenCV:中构建一个独立于主分支的分支

请参阅此处的更新版本

  1. Git克隆/下载为Zip
  2. 按照页面上的说明构建OpenCV

如果从这个分支重新安装opencv-controb并不能修复它,那么这是opencv中的一个错误,你必须等待有人在这里更新它

最新更新