OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
OpenCV-Python 教程簡介

OpenCV

OpenCV 最初由 Gary Bradsky 於 1999 年在英特爾發起,並在 2000 年釋出了第一個版本。Vadim Pisarevsky 加入 Gary Bradsky,負責管理英特爾俄羅斯軟體 OpenCV 團隊。2005 年,OpenCV 被用於 Stanley,這是贏得 2005 年 DARPA Grand Challenge 的車輛。後來,在其積極開發過程中,Willow Garage 在 Gary Bradsky 和 Vadim Pisarevsky 的領導下繼續支援該專案。OpenCV 現在支援與計算機視覺和機器學習相關的多種演算法,並且每天都在擴充套件。

OpenCV 支援多種程式語言,如 C++、Python、Java 等,並且可在不同的平臺上使用,包括 Windows、Linux、OS X、Android 和 iOS。基於 CUDA 和 OpenCL 的高速 GPU 操作介面也在積極開發中。

OpenCV-Python 是 OpenCV 的 Python API,它結合了 OpenCV C++ API 和 Python 語言的最佳特性。

OpenCV-Python

OpenCV-Python 是一個 Python 繫結庫,旨在解決計算機視覺問題。

Python 是一種通用程式語言,由 Guido van Rossum 發起,由於其簡潔性和程式碼可讀性而迅速流行。它使程式設計師能夠以更少的程式碼行表達想法,而不會降低可讀性。

與 C/C++ 等語言相比,Python 速度較慢。也就是說,Python 可以很容易地用 C/C++ 擴充套件,這使我們能夠在 C/C++ 中編寫計算密集型程式碼,並建立可以用作 Python 模組的 Python 包裝器。這給了我們兩個優勢:首先,程式碼速度與原始 C/C++ 程式碼一樣快(因為它是在後臺工作的實際 C++ 程式碼),其次,用 Python 編寫程式碼比 C/C++ 更容易。OpenCV-Python 是原始 OpenCV C++ 實現的 Python 包裝器。

OpenCV-Python 使用 Numpy,這是一個高度最佳化的數值運算庫,具有 MATLAB 風格的語法。所有的 OpenCV 陣列結構都與 Numpy 陣列相互轉換。這也使得它更容易與其他使用 Numpy 的庫(如 SciPy 和 Matplotlib)整合。

OpenCV-Python 教程

OpenCV 引入了一組新的教程,將指導您瞭解 OpenCV-Python 中提供的各種功能。本指南主要關注 OpenCV 3.x 版本(儘管大多數教程也適用於 OpenCV 2.x)。

建議事先了解 Python 和 Numpy,因為本指南不會涵蓋它們。精通 Numpy 是使用 OpenCV-Python 編寫最佳化程式碼的必備條件。

本教程最初由 Abid Rahman K. 作為 2013 年 Google Summer of Code 計劃的一部分在 Alexander Mordvintsev 的指導下啟動。

OpenCV 需要你!!!

由於 OpenCV 是一項開源計劃,歡迎大家為庫、文件和教程做出貢獻。如果您在本教程中發現任何錯誤(從小的拼寫錯誤到程式碼或概念中的嚴重錯誤),請隨時透過在 GitHub 中克隆 OpenCV 並提交 pull request 來更正它。OpenCV 開發人員將檢查您的 pull request,給您重要的反饋,並且(一旦透過審查者的批准)它將被合併到 OpenCV 中。然後您將成為一個開源貢獻者 :-)

隨著新的模組新增到 OpenCV-Python 中,本教程將不得不擴充套件。如果您熟悉特定的演算法,並且可以編寫包含演算法基本理論和顯示示例用法的程式碼的教程,請這樣做。

記住,我們一起可以使這個專案取得巨大的成功!!!

貢獻者

以下是向 OpenCV-Python 提交教程的貢獻者名單。

  1. Alexander Mordvintsev (GSoC-2013 指導者)
  2. Abid Rahman K. (GSoC-2013 實習生)

附加資源

  1. Python 快速入門指南 - A Byte of Python
  1. Python 快速入門指南
  2. NumPy 快速入門教程
  3. NumPy 參考
  4. OpenCV 文件
  5. OpenCV 論壇