如何使用Mat的指针创建GPUMat实体?
以下我的实施是错误的。
#include<opencv2/opencv.hpp>
#include "opencv2/gpu/gpu.hpp"
//using namespace cv;
int main()
{
//Mat img = imread();
cv::Mat mSource = cv::imread("C:\\New Folder\\1.jpg");
cv::gpu::GpuMat gpuInput(mSource.rows, mSource.cols, CV_32FC1, mSource.data, cv::Mat::AUTO_STEP);
cv::gpu::GpuMat mGTarget;
cv::gpu::resize(gpuInput, mGTarget, cv::Size(0, 0), 0.5, 0.5);
cv::Mat mTarget;
mGTarget.download(mTarget);
cv::imwrite("C:\\New Folder\\5.jpg", mTarget);
}
答案 0 :(得分:2)
使用GpuMat::upload
和GpuMat::download
功能。 upload
函数将cv::Mat
作为参数,并将主机数据上传到设备。
GpuMat gpuInput;
gpuInput.upload(mSource);