OpenCV中GPU模組使用

查志強發表於2018-01-18

【原文:http://www.cnblogs.com/dwdxdy/p/3244508.html

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。


相關文章