OpenCV UMat類 使用GPU運算

2021-10-04 12:37:44 字數 776 閱讀 9878

在opencv中,已經嵌入了opencl執行的方式,通過使用umat物件,opencv會自動在支援opencl的裝置上使用gpu運算,在不支援opencl的裝置仍然使用cpu運算,這樣就避免了程式執行失敗,而且統一了介面。

mat轉umat

// 從mat獲得umat矩陣

// 方法一

cv::umat usrc = cv::

imread

("bmc1.bmp",0

).getumat

(cv::access_read)

;// 方法二

cv::umat usrc_;

cv::mat src =

imread

("bmc1.bmp",0

);src.

copyto

(usrc_)

;

umat轉mat
cv::mat src = usrc.

getmat

(cv::access_rw)

;

兩者的轉換是不共享矩陣體的。所以,一般轉換成另乙個型別進行修改之後,需要再轉回去,內容才能一致。而且轉換需要花費大量時間(從cpu將資料移到gpu或相反),如果計算量不大,建議還是用mat計算

因為umat和mat有著共同的基類inputoutputarray,所以大部分opencv的函式umat都能使用,但是umat自帶的方法沒有mat豐富。比如說,umat沒有data指標指向資料,沒有ptr<>方法。

getmat和getumat的引數可以如下:

GP服務的使用詳解

廢話不多說,開始正題 gp工具 它是由arcmap等桌面的gis應用生成的,生成的方式是使用模型構建器將需要的工具和引數拖進去,然後把工具和引數進行關聯,最後生成乙個流程圖。將流程圖進行驗證,如果成功了就可以進行發布,發布後就是gp工具了。gp工具的具體製作過程就不贅述了,網上有著相關的教程。gp工...

C ArcEngine,面轉線,不使用GP工具。

專案中遇到需要將麵轉成線,網上的大多數據都是使用gp工具,對整個圖層進行面轉線,這裡的方法可以對單個要素進行面轉線操作。如下 ipolygon polygon pfeature.shape as ipolygon isegmentcollection segmentcollction polygon...

類和類的使用

class people name xiaoming 類屬性,類裡面的變數稱為屬性 age 18 私有屬性,別人知道後不會去動它,概念性問題 age 18 也是私有屬性,訪問會報錯 a people 例項化 print a.age 通過例項訪問類屬性,雖然是私有的,但是訪問還是可以列印,b peop...