OpenCV的全稱是Open Source Computer Vision Library,是一個跨平台的電腦視覺庫。OpenCV是由英特爾公司發起並參與開發,以BSD特許條款授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發即時的圖像處理、電腦視覺以及圖型識別程式。2011年起,OpenCV開始支援GPU即時加速運算[2]。
歷史
OpenCV專案最早由英特爾公司於1999年啟動,致力於CPU密集型的任務,是一個包括如光線追蹤和3D顯示的計劃的一部分。早期OpenCV的主要目標是
- 為推進機器視覺的研究,提供一套開源且最佳化的基礎庫。不重造輪子。
- 提供一個共同的基礎庫,使得開發人員的代碼更容易閱讀和轉讓,促進了知識的傳播。
- 透過提供不需要開源或免費的軟件特許,促進商業應用軟件的開發。
OpenCV的第一個預覽版本於2000年在國際電腦視覺與圖型識別會議公開,並且陸續提供了五個測試版本。1.0版本於2006年發佈。
OpenCV的第二個主要版本是2009年10月的OpenCV 2.0。該版本的主要更新包括C++介面,更容易、更類型安全的模式,新的函數,以及對現有實現的最佳化(特別是多核心方面)。現在每6個月就會有一個官方版本[3],並由一個商業公司贊助的獨立小組進行開發。
在2012年8月,OpenCV的營運由一個非營利組織(OpenCV.org)來提供,並保留了一個開發者網站[4]和用戶網站。[5]
應用領域
OpenCV可用於解決如下領域的問題:
程式語言
OpenCV用C++語言編寫,它的主要介面也是C++語言,但是依然保留了大量的C語言介面。該庫也有大量的Python、Java和MATLAB/OCTAVE(版本2.5)的介面。這些語言的API介面函數可以透過線上文件取得[6]。現在也提供對於C#、Ch[7]的支援。
硬件加速
如果OpenCV在系統中找到了英特爾整合效能原語,它就會使用最佳化的常式去加速執行。
以CUDA為基礎的圖形處理器(GPU)介面於2010年9月起開展[8]。
以OpenCL為基礎的GPU介面則從2012年10月起開啟[9],2.4.13.3版的相關檔案可以在docs.opencv.org閱覽[10]。
作業系統支援
OpenCV可以在Windows、Android[11]、Maemo[12]、FreeBSD、OpenBSD、iOS[13]、Linux和Mac OS等平台上執行。用戶可以在Github獲得官方版本,或者從Git獲得開發版本。OpenCV使用CMake。
在Windows上編譯OpenCV中與攝像輸入有關部分時,需要DirectShow SDK中的一些基礎類別。該SDK可以從預先編譯的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目錄Samples\Multimedia\DirectShow\BaseClasses獲得。
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.