OpenCV 3.4:CPU 和 CUDA 中调整大小的结果在 C++ 中不匹配
OpenCV 3.4: the result of resize in CPU and CUDA are not match in C++
我正在使用带有 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 中的一个已知问题。
查看问题报告 here
目前似乎有两个版本,一个有 npp(旧版),另一个没有(新版):
legacy version
和
newer version
似乎这个问题是一个活跃的问题,并且已经上升到 priority:normal 这意味着我们应该很快就会看到一个修复,只要关注那个线程,你就会没事!
希望我有所帮助,这是我第一次 post SO :D
编辑:
要在没有 NPP 的情况下构建,必须在 OpenCV 中构建一个独立于主分支的分支:
查看更新版本 here
- Git 克隆/下载为 Zip
- 按照页面上的说明构建 OpenCV
如果从这个分支重新安装 opencv-contrib 没有修复它,那么它是 opencv 中的一个错误,你必须等待有人更新它 here
我正在使用带有 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 中的一个已知问题。 查看问题报告 here
目前似乎有两个版本,一个有 npp(旧版),另一个没有(新版):
legacy version 和 newer version
似乎这个问题是一个活跃的问题,并且已经上升到 priority:normal 这意味着我们应该很快就会看到一个修复,只要关注那个线程,你就会没事!
希望我有所帮助,这是我第一次 post SO :D
编辑:
要在没有 NPP 的情况下构建,必须在 OpenCV 中构建一个独立于主分支的分支:
查看更新版本 here
- Git 克隆/下载为 Zip
- 按照页面上的说明构建 OpenCV
如果从这个分支重新安装 opencv-contrib 没有修复它,那么它是 opencv 中的一个错误,你必须等待有人更新它 here