我有一小段代码试图将Mat转换为GpuMat并反转。 当我尝试使用“上传”功能上传GpuMat中的Mat时,它会中断。如果我在调试中进行下一步,则写入GpuMat的大小,与Mat相同但不上传像素数据。 这是代码:
Mat initFrame;
Mat initconv;
Mat threshold;
imageCircle.copyTo(initFrame);
cvtColor(initFrame,initconv,CV_BGR2HSV);
gpu::GpuMat myFrame;
gpu::GpuMat myFrameLab;
myFrame.upload(initconv);
myFrame.download(threshold);
//gpu::cvtColor(myFrame,myFrameLab,CV_BGR2YCrCb);
imshow("INPUT",threshold);
更新
我读到我需要在GPU支持下构建Opencv。在这里,我不知道该怎么做。我在某个地方看到它在OpenCV目录中存在/gpu/built/..
。我有2.4.9和3.1版本,但我在Opencv目录中找不到/gpu/build/...
答案 0 :(得分:0)
它开始是一个老帖子,但我仍然想帮忙:
首先,要验证Cuda是否已安装且受支持,您必须调用该函数
cuda::getCudaEnabledDeviceCount();
如果安装和支持Cuda,那么它必须返回不同于0的东西
如果您像我一样使用Visual Studio 2015,通常您应该知道Cuda仅支持Visual Studio 2013和Visual Studio 2015 Update 1
在我关于使用Cuda的研究中,我遵循了本教程:
http://robbinmarcus.blogspot.fr/2016/02/cuda-in-visual-studio-2015.html
如果您需要帮助,请告诉我