OpenCV介紹

来源:互联网 发布:linux指令大全 编辑:程序博客网 时间:2024/05/18 04:58

OpenCV全名是Open Source Computer Vision Library,是一個影像處理函式庫,由Intel發起並參與開發,以BSD授權條款發行,可在商業和研究領域中免費使用,目前是非營利的基金組織OpenCV.org在維護,關於授權可參考:幾種開源授權介紹。

OpenCV 1.0版於2006年釋出,以C語言作為開發主體,當使用OpenCV函式庫時,程式設計師要自行注意記憶體管理,因此在開發大型程式時較不方便。

OpenCV 2.0在2009年10月釋出,該版本的主要以C++開發設計,使得記憶體管理方便許多,以我們示範使用的2.4.11就是2.0版,4代表小改版,可能是功能增強或提供新功能,11代表功能錯誤的排除,2.0有部分函式放在Nonfree模組內(像SURF),如果商用有使用到此模組要注意專利問題,而這模組在3.0的時候移除了。

OpenCV 3.0於2015年6月釋出,有部分的模組變更,模組減少了contrib、dynamicuda、legacy、nonfree、gpu、ocl,增加了cuda、cudaarithm、cudacodec、cudafeatures2d等模組,看起來GPU的平行處理是3.0的重點,取代了2.0的GPU模組。

OpenCV在影像處理方面應用廣泛,可以讀取儲存圖片、視訊、矩陣運算、統計、影像處理等,可用在物體追蹤、人臉辨識、傅立葉轉換、紋理分析、動態視訊的影像處理等。

OpenCV提供簡單的GUI介面,像將影像顯示在螢幕上,在視窗上加上滑動桿和偵測滑鼠和鍵盤輸入,方便我們驗證或呈現結果。但因為OpenCV當初設計的時候著重在演算法的處理,所以關於系統硬體的支援,和介面元件的完整度都不高,所以假使想要開發完整的C/C++應用程式,還是需要像Qt、wxWidets之類的應用程式框架。

OpenCV提供的函式方便我們推演更進階的影像處理演算法,就好像MATLAB的功用,但是執行速度比MATLAB快上許多,通常也比我們自己用C/C++寫的函式還快,而除了C/C++之外,OpenCV也提供其他語言的支援,像Java或Python等,詳細還請閱讀官方說明文件。


转自:http://monkeycoding.com/?p=514

0 0