Как стать автором
Обновить

Компьютерное зрение всем, даром

Блог компании Издательский дом «Питер» Python *C++ *Обработка изображений *DIY или Сделай сам


20 лет назад, в 1999 году, компания Kyocera выпустила первый мобильный телефон с цифровой камерой – Visual Phone VP-210. С тех пор, благодаря невероятно большому и растущему рынку мобильных устройств связи, ПЗС-матрицы цифровых камер совершили невероятный скачок по всем параметрам. Чувствительность, диапазон, размер, энергопотребление, но что ещё важнее – цена.

В наших реалиях модуль камеры, вообще-то весьма технологически сложное устройство, может стоить всего несколько долларов. Это кардинально меняет взгляд на многие процессы и задачи. Ранее сложной задачей было заполучить камеру, технически удовлетворяющую минимальным требованиям. Пройдя такое испытание, решение вопросов обработки изображений казалось лишь приятными хлопотами. Теперь же вопрос софта, который будет обрабатывать информацию с камеры, стоит более остро. Планка физического и экономического доступа к технологии упала так низко, что коснулась границы компетентности пользователя.

Давайте на реальных примерах рассмотрим, насколько сложно (или просто) сейчас работать с изображениями и какие задачи под силу айтишнику иной специализации.

Безусловно, главным инструментом для работы с изображениями является Open Source библиотека OpenCV. Написанная на C++ – также имеет интерфейсы для работы с Python, Java, PHP, JavaScript и другими, менее популярными языками. На примере нескольких проектов с использованием OpenCV, опубликованных на хабре в 2018-2019, рассмотрим, какие задачи решались и какие технологии использовались.

1) Умная кормушка: Machine Learning, Raspberry Pi, Telegram, немножко магии обучения + инструкция по сборке
Пост о хоббийном проекте ZlodeiBaal: 27.6k просмотров, 289 закладок. Raspberry Pi B+, камера, OpenCV, Caffe, Python.

2) DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом»
Пост о хоббийном проекте Walker2000: 73.8k просмотров, 425 закладок. Raspberry Pi B+/Raspberry Pi Zero W, тепловизионная матрица, OpenCV, Python.

3) Печать гобелена «Игры престолов» на фискальном принтере с использованием Python
Пост о хоббийном проекте viking_unet: 7,9k просмотров, 50 закладок. Фискальный принтер, OpenCV, Python.

4) StereoPi — наша железка для изучения компьютерного зрения, дронов и роботов
Пост об отечественном железячном проекте Realizator: 14,1k просмотров, 117 закладок. Raspberry Pi, OpenCV.

5) Восстановление смазанных и расфокусированных изображений с помощью фильтра Винера. Реализация на C++ OpenCV
Пост об опыте VladislavBK: 16,7k просмотров, 154 закладки. Nikon, OpenCV, C++.

6) OpenCV на STM32F7-Discovery
Пост о хоббийном проекте 0xdde: 6,4k просмотров, 71 закладка. STM32, OpenCV, Qt, C++.

7) Запускаем свой нейросетевой детектор на Raspberry Pi с помощью Neural Compute Stick и OpenVINO
Пост о хоббийном проекте BeloborodovDS: 14.7k просмотров, 126 закладок. Raspberry Pi. Neural Compute Stick, OpenCV, OpenVINO, C++.

8) Компьютерное зрение и машинное обучение в PHP используя библиотеку opencv
Пост о хоббийном проекте morozovsk: 21.6 тыс просмотров, 236 закладок. OpenCV, PHP, php-opencv.

9) opencv4arts: Нарисуй мой город, Винсент
Пост о компьютерном зрении и нейросетях в браузере dkurt: 5.4k просмотров, 63 закладки. OpenCV, JavaScript, OpenCV.js

10) *Место вакантно*
Последний пункт предназначался для проекта на Java, так как этот язык вполне официально поддерживается OpenCV, однако мне не удалось найти на Хабре подходящий пост. Пишите свои предположения, почему? А ещё лучше пишите пост по теме. Java весьма распространённый язык, и я крайне удивлён столь скудному представлению на хоббийном ландшафте айтишников.

Не трудно подметить – в большинстве случаев авторы впервые работали с OpenCV и компьютерным зрением в частности. Это не помешало им сравнительно небольшими усилиями создать функционирующий проект и даже решать реальные задачи удобным способом.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Насколько вероятно, что в одном из следующих хобби/pet-проектов вы будете использовать машинное зрение?
57.14% Почти наверняка 56
36.73% Мало вероятно 36
6.12% Мне это абсолютно не интересно 6
Проголосовали 98 пользователей. Воздержались 11 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Когда вам понадобится воспользоваться OpenCV, вы обратитесь к нативной реализации C/C++ или пожертвуете производительностью в угоду возможному комфорту?
36% Похоже, я управлюсь и с С++ 36
48% Однажды Python – всегда Python 48
1% JavaScript мне больше по душе 1
4% PHP, который смог 4
11% Мифический Java 11
Проголосовали 100 пользователей. Воздержались 13 пользователей.
Теги: OpenCVOpenVINOneural compute stickpaspberry pistm32StereoPiphp-opencvOpenCV.js
Хабы: Блог компании Издательский дом «Питер» Python C++ Обработка изображений DIY или Сделай сам
Всего голосов 26: ↑19 и ↓7 +12
Комментарии 6
Комментарии Комментарии 6

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
Россия
Сайт
piter.com
Численность
201–500 человек
Дата регистрации

Блог на Хабре