写点什么

OpenCV 学习(一):简介

用户头像
轻口味
关注
发布于: 刚刚

背景介绍

一直从事 Android 和音视频相关领域开发,图像处理主要基于 OpenGL,最近在研究一些图像智能化相关的东西,准备把算法之类的捡起来,首先想到的就是 OpenCV。OpenCV 是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大,逐步了解它的能力和内部的算法实现原理,是一件一举多得的事情。平时使用的是 Mac 平台,出于便利性考虑学习过程中主要以 Python 接口为主;日后应用场景还是移动端,应用时主要是 C++接口为主。


OpenCV 介绍

OpenCV 由 Gary Bradsky 于 1999 年在英特尔创立,第一版于 2000 年问世。Vadim Pisarevsky 加入 Gary Bradsky,一起管理英特尔的俄罗斯软件 OpenCV 团队。2005 年,OpenCV 用于 Stanley,该车赢得了 2005 年 DARPA 挑战赛的冠军。后来,在 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 是旨在解决计算机视觉问题的 Python 专用库。

Python 主要因为它的简单性和代码可读性。它使程序员可以用较少的代码行表达想法,而不会降低可读性。

与 C/C++之类的语言相比,Python 速度较慢。也就是说,可以使用 C/C++轻松扩展 Python,这使我们能够用 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 Tutorials 官方文档:https://docs.opencv.org/master/d6/d00/tutorial_py_root.html

参考资源

  1. Python快速指南- [一小部分Python]

  2. 基本的Numpy教程

  3. numpy示例列表

  4. OpenCV文档

  5. OpenCV论坛

发布于: 刚刚阅读数: 2
用户头像

轻口味

关注

🏆2021年InfoQ写作平台-签约作者 🏆 2017.10.17 加入

Android音视频、AI相关领域从业者,开源RTMP播放器:https://github.com/qingkouwei/oarplayer

评论

发布
暂无评论
OpenCV学习(一):简介