CUDA基本使用方法
在介紹OpenCV中GPU模塊使用之前,先回顧下CUDA的一般使用方法,其基本步驟如下:
1.主機代碼執行;2.傳輸數據到GPU;3.確定grid,block大小;
4.調用內核函數,GPU運行程序;5.傳輸結果到CPU;6.繼續主機代碼執行。
下圖是兩個向量相加的簡單示例程序和處理流圖。

注意的問題:cu,cpp文件的組織
內核函數和其wrapper函數置於cu文件中。
在cpp文件聲明wrapper函數,並調用wrapper函數。
wrapper函數的聲明定義需加extern "C"。
OpenCV中GPU模塊的使用
使用的步驟與CUDA的基本使用方法類似,只是OpenCV中GPU模塊,已經封裝的內核函數的調用,其使用步驟如下:
1.驗證OpenCV是否已啟用GPU模塊。
2.上傳待處理數據到GPU (Mat --> GpuMat)。
3.調用OpenCV支持的GPU的處理函數。
4.下載處理結果到CPU (GpuMat ---> Mat)。
其示例程序如下,完成顏色轉換,BGR2GRAY。

