OpenCV-Python官方文档中文翻译1:Introduction to OpenCV-Python Tutorials

齐昆
2023-12-01

Introduction to OpenCV-Python Tutorials

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年在Intel由Gary Bradsky开发,并于2000年第一次发行。Vadim Pisarevsky加入了Gary Bradsky来管理Intel的俄罗斯OpenCV软件团队。在2005年,OpenCV被用在机器人Stanley上,该车赢得了2005年的DARPA挑战赛的冠军。其后,在Willow Garage,Gary Bradsky ,Vadim Pisarevsky的支持和带领下,OpenCV保持着活跃的更新。现在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,安卓和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中的应用程序接口,由最高品质的OpenCV C++应用程序接口和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更慢。尽管如此,能够轻易地用C/C++来扩展Python,这允许我们用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,这是一个高度优化的库,用来以MATLAB风格的语法进行数值运算。所有的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的指导下作为Google 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并提交更正的请求。OpenCV的开发人员将检查你的请求,给你重要的反馈,并且(一旦它通过了审查者的批准)它将合并到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提供教程的贡献者的名单。
  1. Alexander Mordvintsev (GSoC-2013 mentor)
  2. Abid Rahman K. (GSoC-2013 intern)

Additional Resources

  1. A Quick guide to Python - A Byte of Python
  2. NumPy Quickstart tutorial
  3. NumPy Reference
  4. OpenCV Documentation
  5. OpenCV Forum

minemine

这段时间自己在学习Opencv在Python中的用法,将官方文档里的教程自己翻译了一遍,也算是一种学习的过程吧。若有不恰当之处,欢迎指正。就像原文里说的:Remember, we together can make this project a great success !!!

 类似资料: