我需要将opencv :: gpumat转换为推力::设备矢量,然后执行推力:: copy_if,然后将生成的推力::设备矢量再次复制到cv :: gpumat。
如何从cv :: gpumat转换为推力::: device_vector,反之亦然?
我的代码(如下)给出了编译错误: 错误:预期为类型说明符
gcc(Ubuntu 5.4.0-6ubuntu1〜16.04.10)5.4.0 20160609
nvcc:Cuda编译工具,版本8.0,V8.0.44
推力v1.8
ubuntu 16.04
我的代码:
#include <thrust/random.h>
#include <thrust/device_ptr.h>
#include <thrust/device_vector.h>
#include <opencv2/core/cuda.hpp>
int main(void)
{
cv::Mat input_host(1,100,CV_32F);
cv::Mat output_host(1,100,CV_32F);
cv::randu(input_host, cv::Scalar(-10), cv::Scalar(10));
cv::cuda::GpuMat input_device(1, 100, CV_32F);
input_device.upload(input_host);
thrust::device_ptr<CV_32F> input_ptr(input_device.ptr());
thrust::device_vector<CV_32F> input_device_vector (input_ptr,100);
return 0;
}