[#] ComputerVision (Ruby & OpenCV)
habrabot(difrex,1) — All
2016-06-17 22:00:04


![][1]
_Автор: Людмила Дежкина, Senior Full Stack developer_

OpenCV — известная библиотека компьютерного зрения широкого назначения с открытым исходным кодом. Я расскажу, что можно делать с помощью OpenCV, как работает библиотека, как ее использовать на Ruby. Я успела поучаствовать в двух проектах, где она применялась. В обоих случаях мы использовали в конечном варианте не Ruby, но именно Ruby очень удобен на первом этапе, когда требуется создать прототип будущей системы, чтобы просто посмотреть, как OpenCV будет выполнять требуемые задачи. Если все в порядке, после этого приложение пишется с этим же алгоритмом на другом языке. А чтобы использовать OpenCV именно на Ruby, есть соответствующий гем.

Основные части библиотеки — интерпретация изображений и алгоритмы машинного обучения. Список возможностей, предоставляемых OpenCV, весьма обширен:

* интерпретация изображений;
* калибровка камеры по эталону;
* устранение оптических искажений;
* определение сходства;
* анализ перемещения объекта;
* определение формы объекта и слежение за объектом;
* 3D-реконструкция;
* сегментация объекта;
* распознавание жестов.

Сейчас OpenCV используется во многих сферах. Вот несколько интересных примеров:

1. Google:
1. Google self-driving car — в беспилотных автомобилях Google OpenCV используется для разработки прототипа распознавания окружающей обстановки;
(сегодня построенная система основывается преимущественно на LIDAR — в связи с трудностями распознавания при плохом освещении)
2. Google Glass — в этих очках 3D-реконструкция изображения построена на OpenCV;
3. Google Mobile;
2. Робототехника и Arduino;
3. Промышленное производство — иногда какой-нибудь завод делает на OpenCV систему подсчета деталей или что-то вроде того.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/7a2/b8e/7a7/7a2b8e7a7b324f5185df5f7753e8c8d9.png
[2]: https://habrahabr.ru/post/303482/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut