UMat UMat
阿新 • • 發佈:2018-12-12
OpenCV2
基於CPU的讀寫視訊一幀影象程式碼如下:
cv::Mat inMat, outMat;
vidInput >> inMat;
cv::cvtColor(inMat, outMat, cv::COLOR_RGB2GRAY);
vidOutput << outMat;
基於OpenCL的GPU方式讀寫視訊一幀影象程式碼如下:
cv::Mat inMat, outMat; vidInput >> inMat; cv::ocl::oclMat inOclMat(inMat); cv::ocl::oclMat outOclMat; cv::ocl::cvtColor(inOclMat, outOclMat, cv::COLOR_RGB2GRAY); outMat = outOclMat; vidOutput << outMat;
OpenCV3
通過使用UMat物件,OpenCV會自動在支援OpenCL的裝置上使用GPU運算,在不支援OpenCL的裝置仍然使用CPU運算,這樣就避免了程式執行失敗,而且統一了介面。
cv::UMat inMat, outMat;
vidInput >> inMat;
cv::cvtColor(inMat, outMat, cv::COLOR_RGB2GRAY);
vidOutput << outMat;
From: ........