Pok*_*oko 2 c++ opencv cuda gpu image-processing
我想知道如何修改gpu::GpuMat.事实上,我想知道是否有可能使用gpu::GpuMat像cv::Mat.
我想做那样的事情:
cv::namedWindow("Result");
cv::Mat src_host = cv::imread("lena.jpg", CV_LOAD_IMAGE_GRAYSCALE);
cv::gpu::GpuMat dst, src;
src.upload(src_host);
for (unsigned int y = 0; y < src.rows; y++){
for (unsigned int x = 0; x < src.cols; x++){
src.at<uchar>(y,x) = 0;
}
}
cv::Mat result_host;
dst.download(result_host);
cv::imshow("Result", result_host);
cv::waitKey();
}
catch(const cv::Exception& ex)
{
std::cout << "Error: " << ex.what() << std::endl;
}
return 0;
Run Code Online (Sandbox Code Playgroud)
这似乎是不可能的.有人知道另一种选择吗?难道我有我下载gpu::GpuMat到cv::Mat我想做出点每一次?提前致谢
编辑:我可能会使用gpu::PtrStepSz(必须测试...)
jet*_*t47 10
GpuMat在GPU内存中分配.您无法从CPU代码修改它.您可以
setTo方法).cv::Mat,然后将其上传到GpuMat.GpuMat它.