Мне нужно конвертировать opencv :: gpumat в thrust :: device_vector, затем выполнить thrust :: copy_if, а затем снова скопировать полученный thrust :: device_vector в cv :: gpumat.
Как преобразовать из cv :: gpumat в thrust :: device_vector и наоборот?
Мой код (ниже) дает ошибку компиляции: ошибка:ожидается спецификатор типа
gcc (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.10) 5.4.0 20160609
nvcc: инструменты компиляции Cuda, выпуск 8.0, V8.0.44
Thrust 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;
}