OpenCV

бібліотека Python машинного зору З Вікіпедії, вільної енциклопедії

OpenCV

Коротка інформація Тип, Автор ...
OpenCV
Thumb
Thumb
Типкомп'ютерний зір
АвторIntel Corporation, Willow Garage Inc.[en], Itseez Ltd.
РозробникиItseez
Перший випуск2006
Стабільний випуск3.2 (23 грудня 2016; 8 років тому (2016-12-23)[1])
Операційна системаLinux, Mac OS X, Android та інші UNIX-подібна операційна система, Windows
Мова програмуванняС++, C, Мова асемблера, Java, Python
Стан розробкиактивне
ЛіцензіяBSD
Репозиторійgithub.com/opencv/opencv
Вебсайтopencv.org
Закрити

OpenCV (англ. Open Source Computer Vision Library, бібліотека комп'ютерного зору з відкритим кодом) — бібліотека функцій та алгоритмів комп'ютерного зору, обробки зображень і чисельних алгоритмів загального призначення з відкритим кодом. Бібліотека надає засоби для обробки і аналізу вмісту зображень, у тому числі розпізнавання об'єктів на фотографіях (наприклад, осіб і фігур людей, тексту тощо), відстежування руху об'єктів, перетворення зображень, застосування методів машинного навчання і виявлення загальних елементів на різних зображеннях.

Бібліотека розроблена Intel і нині підтримується Willow Garage[en] та Itseez. Сирцевий код бібліотеки написаний мовою C++ і поширюється під ліцензією BSD. Біндинги підготовлені для різних мов програмування, таких як Python, Java, Ruby, Matlab, Lua та інших. Може вільно використовуватися в академічних та комерційних цілях.

Історія

Узагальнити
Перспектива

Офіційно проект OpenCV був запущений у 1999 році за ініціативою Intel Research з ціллю розвивати CPU-ресурсомісткі додатки. Основними вкладниками у проект була Intel's Performance Library Team та певна кількість експертів з чисельної оптимізації у Inter Russia. На перших етапах розвитку OpenCV основними задачами бібліотеки були:

  • Розвивати дослідження у напрямку комп'ютерного зору, забезпечуючи добре оптимізований та відкритий код бібліотеки.
  • Поширювати знання у сфері комп'ютерного зору, забезпечуючи загальну інфраструктуру, яку б могли розвивати розробники, таким чином код ставатиме більш легким для сприйняття та обміну.
  • Розвивати засновані на роботі з комп'ютерним зором комерційні додатки, створюючи не залежну від платформи, оптимізовану та безкоштовну бібліотеку. Для цього використовувалася ліцензія, яка не вимагала від таких комерційних додатків бути відкритими.

Перша альфа-версія OpenCV була оприлюднена на IEEE конференції з комп'ютерного зору й розпізнавання образів у 2000 році, і п'ять бета-версій було випущено у період між 2001 і 2005 роками. Перша версія 1.0 була випущена у 2006 році. У середині 2008 року, OpenCV отримала корпоративну підтримку від Willow Garage[en] і знову перейшла у стадію активної розробки. «Пре-релізна» версія 1.1 була випущена у жовтні 2008 року.

Другий великий випуск OpenCV відбувся у жовтні 2009 року. OpenCV 2 включала у себе серйозні зміни у інтерфейсі C++. Ці зміни спрямовані на більш прості, тип-безпечні моделі, додавання нових функцій, і кращу реалізацію існуючих моделей в плані швидкодії (особливо на багатоядерних системам). Офіційні релізи надалі відбуваються кожні 6 місяців[2]і розробкою займається незалежна команда з Росії, яка підтримується комерційними корпораціями.

У серпні 2012 року, підтримку OpenCV було передано некомерційній організації, OpenCV.org.

Застосування

Thumb
openFrameworks[en] виконує демонстраційну програму OpenCV .

Бібліотека містить понад 2500 оптимізованих алгоритмів, серед яких повний набір як класичних так і практичних алгоритмів машинного навчання і комп'ютерного зору. Алгоритми OpenCV застосовують у таких сферах:

  • Аналіз та обробка зображень
  • Системи з розпізнавання обличчя
  • Ідентифікації об'єктів
  • Розпізнавання жестів[en] на відео
  • Відстежування переміщення камери
  • Побудова 3D моделей об'єктів
  • Створення 3D хмар точок зі стерео камер
  • Склеювання зображень між собою, для створення зображень всієї сцени з високою роздільною здатністю
  • Система взаємодії людини з комп'ютером
  • Пошуку схожих зображень із бази даних
  • Усування ефекту червоних очей при фотозйомці зі спалахом
  • Стеження за рухом очей
  • Аналіз руху
  • Ідентифікація об'єктів
  • Сегментація зображення
  • Трекінґ відео
  • Розпізнавання елементів сцени і додавання маркерів для створення доповненої реальності

та інші.

Мова програмування

OpenCV написана на C++ і її основний інтерфейс також реалізовано на C++, але бібліотека і досі представляє старіший C інтерфейс. Наразі реалізовано інтерфейс мовами Python, Java і MATLAB / OCTAVE (починаючи з версії 2.5). API для цих інтерфейсів можна знайти в онлайн документації[3] Оболонки для інших мов, таких як C#, CH,[4] Ruby були розроблені з метою охоплення ширшої аудиторії.

Всі нові розробки та алгоритми OpenCV наразі розробляються у C++ інтерфейсі.

Підтримувані платформи та інструменти

Самі бібліотеки:

  • Microsoft Windows: компілятори Microsoft Visual C + + (6.0,. NET 2003), Intel Compiler, Borland C + +, Mingw (GCC 3.x).
  • Linux: GCC (2.9x, 3.x), Intel Compiler: «./configure-make-make install», RPM
  • Mac OS X: GCC (3.x, 4.x)
  • Android
  • iOS — неофіційно

Засоби GUI, захоплення відео:

Документація: статичний HTML, PDF.

Див. також

Примітки

Посилання

Wikiwand - on

Seamless Wikipedia browsing. On steroids.