OpenGL和OpenCV的區別
OpenCV/OpenCL/OpenGL區別與聯絡:
區別
OpenGL(Open Graphics Library,開放影象庫)是個定義了一個跨程式語言、跨平臺的應用程式介面(API)的規格,它用於生成二維、三維影象。這個介面由近三百五十個不同的函式呼叫組成,用來從簡單的圖形位元繪製複雜的三維景象。而另一種程式介面系統是僅用於Microsoft Windows上的Direct3D。OpenGL常用於CAD、虛擬實境、科學視覺化程式和電子遊戲開發。特徵:從資料到影象
OpenCL (Open Computing Language,開放計算語言) 是一個為異構平臺編寫程式的框架,此異構平臺可由CPU,GPU或其他型別的處理器組成。OpenCL由一門用於編寫kernels (在OpenCL裝置上執行的函式)的語言(基於C99)和一組用於定義並控制平臺的API組成。OpenCL提供了基於任務分割槽和資料分割槽的平行計算機制。OpenCL類似於另外兩個開放的工業標準OpenGL(跨平臺圖形API)和OpenAL(跨平臺音效API),這兩個標準分別用於三維圖形和計算機音訊方面。OpenCL擴充了GPU圖形生成之外的能力。OpenCL由非盈利性技術組織Khronos Group掌管。
OpenCV(Open Source Computer Vision Library,計算機視覺庫)是一個跨平臺的計算機視覺庫(主要操作物件是影象)。OpenCV是由英特爾公司發起並參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發實時的影象處理、計算機視覺以及模式識別程式。該程式庫也可以使用英特爾公司的IPP進行加速處理。特徵:從影象到資料
聯絡
OpenCV是 Open Source Computer Vision Library,是從影象到資料 OpenGL是 Open Graphics Library,是從資料到影象 OpenCV主要是提供影象處理和視訊處理的基礎演算法庫,還涉及一些機器學習的演算法。比如你想實現視訊的降噪、運動物體的跟蹤、目標(比如人臉)的識別這些都是CV的領域 OpenGL則專注在Graphics,3D繪圖。 其實兩者的區別就是Computer Vision和Computer Graphics這兩個學科之間的區別,前者專注於從採集到的視覺影象中獲取資訊,是用機器來理解影象;後者是用機器繪製合適的視覺影象給人看。