如何使用 Mat 的数据指针创建 GPUMat 实体?



如何使用 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);
}

使用 GpuMat::uploadGpuMat::download 函数。upload函数以cv::Mat为参数,将主机数据上传到设备。

GpuMat gpuInput;
gpuInput.upload(mSource);

最新更新