2016-01-18 28 views
0

我有一小段代碼嘗試將Mat轉換爲GpuMat並反轉。 當我嘗試使用「上傳」功能在GpuMat中上傳Mat時,它會中斷。如果我在調試中進入下一步,則寫入GpuMat的大小,與Mat相同,但不會上載像素數據。 下面是代碼:CUDA和OpenCV。轉換表格Mat到GpuMat不起作用

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); 

UPDATE

我讀,我需要與opencv GPU內置支持。在這裏,我不知道該怎麼做。我看到在OpenCV目錄中的某處存在/gpu/built/..。我有2.4.9和3.1版本,但我不OpenCV中目錄找到/gpu/build/...

+0

請定義你的「它打破了」的意思。它「如何打破」? –

+0

cv ::內存位置0x001eaac4處的異常。我有內存訪問違規。我驗證瞭如果我有用GPU支持構建的opencv,不幸的是正確的。我需要獲得與GPU支持或什麼內置的opencv?在這裏我不明白。 – Eddie

+0

請使用該信息編輯您的問題,而不是將它發佈在評論中。 –

回答

0

它首先是一個老帖子,但我仍想幫助:

首先,以驗證是否Cuda的安裝和支持,你必須調用該函數

cuda::getCudaEnabledDeviceCount(); 

如果安裝和支持Cuda的,,那麼它如果你正在使用Visual Studio 2015年我一樣返回的東西比0
不同,通常你應該知道Cuda只支持Visual Studio 2013和Visual Studio 2015 Update 1
在我關於使用CUDA的研究,我跟着這個教程:
http://robbinmarcus.blogspot.fr/2016/02/cuda-in-visual-studio-2015.html
讓我知道如果你需要幫助