OpenCV
| File:OpenCV logo black.svg | |
| 原作者 | 英特爾柳樹車庫 Itseez |
|---|---|
| 首次發布 | 2000年6月 |
| 當前版本 | Template:Software version |
| 編程語言 | C、C++、Python、Java、匯編語言 |
| 操作系統 | 跨平臺:Windows、Linux、macOS、FreeBSD、NetBSD、OpenBSD;Android、iOS、Maemo、BlackBerry 10 |
| 平台 | IA-32, x86-64 |
| 文件大小 | ~200 MB |
| 語言 | 英語 |
| 類型 | 函式庫 |
| 許可協議 | Apache |
| 網站 | opencv |
package.lua第80行Lua錯誤:module 'Module:Lang/data/iana languages' not found的全稱是package.lua第80行Lua錯誤:module 'Module:Lang/data/iana languages' not found,是一個跨平台的計算機視覺庫。package.lua第80行Lua錯誤:module 'Module:Lang/data/iana languages' not found是由英特爾公司發起並參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發實時的圖像處理、計算機視覺以及模式識別程序。2011年起,OpenCV開始支持GPU實時加速運算[1]。
歷史[編輯]
OpenCV項目最早由英特爾公司於1999年啟動,致力於CPU密集型的任務,是一個包括如光線追蹤和3D顯示的計劃的一部分。早期OpenCV的主要目標是
- 為推進機器視覺的研究,提供一套開源且優化的基礎庫。不重造輪子。
- 提供一個共同的基礎庫,使得開發人員的代碼更容易閱讀和轉讓,促進了知識的傳播。
- 透過提供不需要開源或免費的軟件許可,促進商業應用軟件的開發。
OpenCV的第一個預覽版本於2000年在國際計算機視覺與模式識別會議公開,並且陸續提供了五個測試版本。1.0版本於2006年發布。
OpenCV的第二個主要版本是2009年10月的OpenCV 2.0。該版本的主要更新包括C++接口,更容易、更類型安全的模式,新的函式,以及對現有實現的優化(特別是多核心方面)。現在每6個月就會有一個官方版本[2],並由一個商業公司贊助的獨立小組進行開發。
在2012年8月,OpenCV的營運由一個非營利組織(OpenCV.org)來提供,並保留了一個開發者網站[3]和用戶網站。[4]
應用領域[編輯]
OpenCV可用於解決如下領域的問題:
編程語言[編輯]
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python、Java和MATLAB/OCTAVE(版本2.5)的接口。這些語言的API接口函數可以透過在線文檔取得[5]。現在也提供對於C#、Ch[6]的支持。在 3.4 版本中,釋出了OpenCV函數的JavaScript綁定,稱為OpenCV.js。
硬件加速[編輯]
如果OpenCV在系統中找到了英特爾集成性能原語,它就會使用優化的例程去加速運行。
以CUDA為基礎的圖形處理器(GPU)接口於2010年9月起開展[7]。
以OpenCL為基礎的GPU接口則從2012年10月起開啟[8],2.4.13.3版的相關文件可以在docs.opencv.org閱覽[9]。
操作系統支持[編輯]
OpenCV可以在Windows、Android[10]、Maemo[11]、FreeBSD、OpenBSD、iOS[12]、Linux和Mac OS等平台上運行。另外也可以在行動裝置的系統上運行,諸如:Android, iOS, Maemo,[13] BlackBerry 10 以及 QNX.[14]使用者可以在Github獲得官方版本,或者從Git獲得開發版本。OpenCV使用CMake。
Windows 作業系統需求[編輯]
在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獲得。
參考文獻[編輯]
- ↑ CUDA. opencv.org. [2020-10-15]. (原始內容存檔於2025-01-31).
- ↑ OpenCV change logs: 存档副本. [2012-11-20]. (原始內容存檔於2013-01-15).
- ↑ OpenCV Developer Site: http://code.opencv.org Archive.today的存檔,存檔日期2013-01-13
- ↑ OpenCV User Site: http://opencv.org/ (頁面存檔備份,存於網際網路檔案館)
- ↑ OpenCV C interface: http://docs.opencv.org (頁面存檔備份,存於網際網路檔案館)
- ↑ Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/ (頁面存檔備份,存於網際網路檔案館)
- ↑ Cuda GPU port. (原始內容存檔於2016-05-21).
- ↑ OpenCL Announcement: http://opencv.org/opencv-v2-4-3rc-is-under-way.html 網際網路檔案館的存檔,存檔日期2019-02-17.
- ↑ OpenCL-accelerated Computer Vision API Reference: http://docs.opencv.org/modules/ocl/doc/ocl.html (頁面存檔備份,存於網際網路檔案館)
- ↑ Android port: 存档副本. [2012-12-30]. (原始內容存檔於2012-11-26).
- ↑ Maemo port: https://garage.maemo.org/projects/opencv (頁面存檔備份,存於網際網路檔案館)
- ↑ iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/ (頁面存檔備份,存於網際網路檔案館)
- ↑ Port of Intel's Open Source Computer Vision Library (OpenCV) to Maemo. Maemo Garage. 10 August 2011 [2023-01-30]. (原始內容存檔於2016-03-17).
- ↑ hungc. Blackberry Port of OpenCV [partial]. GitHub. 4 September 2019 [2024-11-24]. (原始內容存檔於2018-06-11).