OpenCV 4.10.0
开源计算机视觉
|
OpenCV 于 1999 年由 Gary Bradsky 在 Intel 创立,其首个版本于 2000 年发布。Vadim Pisarevsky 加入 Gary Bradsky 负责管理 Intel 俄罗斯 OpenCV 软件团队。2005 年,OpenCV 被用于 Stanley,该车辆赢得了 2005 年 DARPA 挑战赛。此后,在 Willow Garage 的支持下,其积极开发工作在 Gary Bradsky 和 Vadim Pisarevsky 的领导下持续进行。OpenCV 现在支持多个与计算机视觉和机器学习相关的算法,并且每天都在不断扩展。
OpenCV 支持多种编程语言,例如 C++、Python、Java 等,并且可在 Windows、Linux、OSX、Android 和 iOS 等不同的平台上使用。基于 CUDA 和 OpenCL 的高速 GPU 操作界面也正在积极开发中。
OpenCV-Python 是 OpenCV 的 Python API,它结合了 OpenCV C++ API 和 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 引入了新的教程集合,它将指导你完成 OpenCV-Python 中可用的各种函数。此指南主要面向 OpenCV 3.x 版本(尽管大多数教程也可以适用于 OpenCV 2.x)。
我们建议具备 Python 和 Numpy 方面的先验知识,因为本指南不会涉及这些内容。精通 Numpy 是使用 OpenCV-Python 编写优化代码的必备条件。
本教程最初由 Abid Rahman K. 在 Alexander Mordvintsev 的指导下作为 Google 2013 年夏季代码计划的一部分启动。
由于 OpenCV 是开源计划,因此欢迎所有人为库、文档和教程做出贡献。如果您发现本教程中的任何错误(从小拼写错误到代码或概念中的重大错误),请随时通过在 GitHub 中克隆 OpenCV 并提交请求来更正错误。OpenCV 开发人员将检查您的请求,向您提供重要的反馈意见,并且(一旦获得审阅者的批准后)将您的请求合并到 OpenCV 中。然后您将成为一名开源贡献者 :-)
随着新的模块添加到 OpenCV-Python 中,本教程必须进行扩展。如果您熟悉一种特定算法并且可以编写一份教程,其中包括该算法的基本理论和展示示例用法的代码,请这样做。
请记住,我们共同可以使这一项目取得巨大的成功 !!!
以下是已向 OpenCV-Python 提交教程的贡献者列表。