1. 程式人生 > >OpenCV3.4.3官方資料翻譯(一)OpenCV-Python Tutorials

OpenCV3.4.3官方資料翻譯(一)OpenCV-Python Tutorials

原英文地址:https://docs.opencv.org/3.4.3/d0/de3/tutorial_py_intro.html


OpenCV

  • OpenCV was started at Intel in 1999 by Gary Bradsky, and the first release came out in 2000. Vadim Pisarevsky joined Gary Bradsky to manage Intel's Russian software OpenCV team. In 2005, OpenCV was used on Stanley, the vehicle that won the 2005 DARPA Grand Challenge. Later, its active development continued under the support of Willow Garage with Gary Bradsky and Vadim Pisarevsky leading the project. OpenCV now supports a multitude of algorithms related to Computer Vision and Machine Learning and is expanding day by day.

OpenCV於1999年由Gary Bradsky在Intel創立,第一個版本於2000年釋出。瓦迪姆•皮薩列夫斯基(Vadim Pisarevsky)加入加里•布拉德斯基(Gary Bradsky),管理英特爾(Intel)在俄羅斯的OpenCV軟體團隊。2005年,OpenCV被用於斯坦利,贏得了2005年DARPA大挑戰賽。後來,在Willow Garage的支援下,該專案繼續積極發展,Gary Bradsky和Vadim Pisarevsky領導了該專案。OpenCV現在支援許多與計算機視覺和機器學習相關的演算法,並且正在日益擴充套件。

  • OpenCV supports a wide variety of programming languages such as C++, Python, Java, etc., and is available on different platforms including Windows, Linux, OS X, Android, and iOS. Interfaces for high-speed GPU operations based on CUDA and OpenCL are also under active development.

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

  • OpenCV-Python is the Python API for OpenCV, combining the best qualities of the OpenCV C++ API and the Python language.

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


OpenCV-Python

  • OpenCV-Python is a library of Python bindings designed to solve computer vision problems.

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

  • Python is a general purpose programming language started by Guido van Rossum that became very popular very quickly, mainly because of its simplicity and code readability. It enables the programmer to express ideas in fewer lines of code without reducing readability.

Python是Guido van Rossum建立的一種通用程式語言,由於其簡單性和程式碼可讀性,它很快就變得非常流行。它使程式設計師能夠用更少的程式碼行表達思想,而不會降低可讀性。

  • Compared to languages like C/C++, Python is slower. That said, Python can be easily extended with C/C++, which allows us to write computationally intensive code in C/C++ and create Python wrappers that can be used as Python modules. This gives us two advantages: first, the code is as fast as the original C/C++ code (since it is the actual C++ code working in background) and second, it easier to code in Python than C/C++. OpenCV-Python is a Python wrapper for the original OpenCV C++ implementation.

與C/ c++之類的語言相比,Python要慢一些。也就是說,Python可以很容易地用C/ c++進行擴充套件,這允許我們用C/ c++編寫計算密集型程式碼,並建立可以用作Python模組的Python包裝器。這給了我們兩個優點:第一,程式碼與C/ c++程式碼一樣快(因為它是在後臺工作的實際c++程式碼);第二,用Python編寫程式碼比用C/ c++編寫程式碼更容易。OpenCV-Python是原始OpenCV c++實現的Python包裝器。

  • OpenCV-Python makes use of Numpy, which is a highly optimized library for numerical operations with a MATLAB-style syntax. All the OpenCV array structures are converted to and from Numpy arrays. This also makes it easier to integrate with other libraries that use Numpy such as SciPy and Matplotlib.

OpenCV-Python使用了Numpy,這是一個高度優化的庫,用於具有matlabstyle語法的數字操作。所有的OpenCV陣列結構都被轉換為和轉換為Numpy陣列。這也使得與其他使用Numpy(如SciPy和Matplotlib)的庫整合更加容易。


OpenCV-Python Tutorials(教程)

  • OpenCV introduces a new set of tutorials which will guide you through various functions available in OpenCV-Python. This guide is mainly focused on OpenCV 3.x version (although most of the tutorials will also work with OpenCV 2.x).

OpenCV介紹了一組新的教程,它將指導您瞭解OpenCV- python中可用的各種函式。本指南主要關注OpenCV 3。x版本(儘管大多數教程也可以使用OpenCV 2.x)。

  • Prior knowledge of Python and Numpy is recommended as they won't be covered in this guide. Proficiency with Numpy is a must in order to write optimized code using OpenCV-Python.

建議您預先了解Python和Numpy,因為本指南不介紹它們。要使用OpenCV-Python編寫優化的程式碼,必須熟練使用Numpy。

  • This tutorial was originally started by Abid Rahman K. as part of the Google Summer of Code 2013 program under the guidance of Alexander Mordvintsev.

本教程最初是Abid Rahman K.在Alexander Mordvintsev的指導下,作為谷歌Summer of Code 2013程式的一部分建立的。


OpenCV Needs You !!!

  • Since OpenCV is an open source initiative, all are welcome to make contributions to the library, documentation, and tutorials. If you find any mistake in this tutorial (from a small spelling mistake to an egregious error in code or concept), feel free to correct it by cloning OpenCV in GitHub and submitting a pull request. OpenCV developers will check your pull request, give you important feedback and (once it passes the approval of the reviewer) it will be merged into OpenCV. You will then become an open source contributor :-)

由於OpenCV是一個開源專案,所以歡迎所有人都為這個庫、文件和教程做出貢獻。如果您在本教程中發現任何錯誤(從一個很小的拼寫錯誤到程式碼或概念中的一個嚴重錯誤),請通過在GitHub中克隆OpenCV並提交pull請求來糾正它。OpenCV開發人員會檢查您的pull請求,給您重要的反饋(一旦它通過了審稿人的批准),它將被合併到OpenCV中。然後您將成為一個開源貢獻者:-)

  • As new modules are added to OpenCV-Python, this tutorial will have to be expanded. If you are familiar with a particular algorithm and can write up a tutorial including basic theory of the algorithm and code showing example usage, please do so.

隨著OpenCV-Python中添加了新的模組,本教程將不得不進行擴充套件。如果您熟悉某個特定的演算法,並且能夠編寫包含該演算法的基本理論和示例用法的程式碼的教程,請這樣做。

  • Remember, we together can make this project a great success !!!

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


Contributors(貢獻者)

  • Below is the list of contributors who submitted tutorials to OpenCV-Python.

下面是向OpenCV-Python提交教程的貢獻者列表。

  • Alexander Mordvintsev (GSoC-2013 mentor)(導師)
  • Abid Rahman K. (GSoC-2013 intern)(實習生)