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

Opencv 如何使用Mat';创建GPUMat实体的数据指针?,opencv,Opencv,如何使用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(mS

如何使用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);
}
#包括
#包括“opencv2/gpu/gpu.hpp”
//使用名称空间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::upload
GpuMat::download
功能。
upload
函数将
cv::Mat
作为参数,并将主机数据上载到设备

GpuMat gpuInput;
gpuInput.upload(mSource);

使用
GpuMat::upload
GpuMat::download
功能。
upload
函数将
cv::Mat
作为参数,并将主机数据上载到设备

GpuMat gpuInput;
gpuInput.upload(mSource);

@md612你到底为什么要这样做?我有一个类似的应用程序也有同样的问题--@md612解码的帧很可能是单通道YUV帧,你提供的是
CV_8UC3
图像类型。您必须确定解码帧的类型。@md612为什么要这样做?我有一个类似的应用程序,它也有同样的问题。@md612解码帧很可能是单通道YUV帧,您提供的是
CV_8UC3
图像类型。您必须确定解码帧的类型。为什么不使用TAPI?为什么不使用TAPI?