Pull to refresh

Релиз OpenCV 3.0 с поддержкой Python 3

Python *Image processing *
Вышла третья версия OpenCV (Open Computer Vision Library) — популярной библиотеки алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым исходным кодом.

Релиз включает примерно 1500 патчей, отправленных через github. Упомянуто, что в OpenCV использовано большое количество интеллектуальной собственности Intel (IPPCV), которую компания передала пользователям библиотеки бесплатно, без лицензионных выплат, для коммерческого и некоммерческого использования. Аппаратное ускорение с использованием OpenCL теперь доступно разработчикам через T-API (transparent API). Помимо этого, в третью версию OpenCV добавлено огромное количество новых возможностей, улучшений производительности и стабильности, подробнее обо всём можно почитать по ссылке.

Это первая стабильная версия библиотеки, которая полностью поддерживает Python 3. Для Windows и Python 3.4 бинарники уже можно скачать на сайте lfd.uci.edu. Модуль всё ещё имеет название cv2.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views 37K
Comments 2

Стабилизация таймлапс-видео на калькуляторе (IPython+OpenCV)

Abnormal programming *Python *Image processing *
Sandbox
Подобно многим стихийным и сезонным любителям астрофотографии, в этом августе я ловил ночью Персеиды. Улов небольшой есть, но сейчас не о нём, а о том, что побочным результатом такого лова стала серия фотографий, которые напрашивались на то, чтобы сделать из них таймлапс. Но вот незадача: установка камеры оказалась не столь уж жесткой, как хотелось бы, и между кадрами появилось небольшое смещение. Попытался исправить его плагином дешейкинга в VirtualDub, но результаты не порадовали. Тогда было решено сделать свой велосипед: подробнее о результатах и том как они получены — под катом.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views 12K
Comments 0

Усовершенствование системы видеонаблюдения с использованием OpenCV и Telegram bot

Python *Development for Linux *

С чего все начиналось


Все началось с того, что я захотел установить у себя «умную» систему видеонаблюдения на Raspberry.

Хочу отдельно отметить, что для этого воспользовался несколькими статьями на Хабре. Спасибо авторам за их посты. Они реально помогли.

В итоге установил на купленном Raspberry Pi3 USB-камеру Logitech, смонтировал Яндекс.Диск и с периодичностью в 30 секунд делал снимки, которые затем копировал в папку на Яндекс.Диске.
Поигравшись с дальнейшем архивированием файлов, монтированием из отдельных снимков видео, забросил новую «игрушку» на несколько месяцев.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 33K
Comments 47

Автономная навигация мобильного робота

Image processing *Robotics development *Development for Raspberry Pi *Robotics
Sandbox
🔥 Technotext 2020
Существует огромное количество способов, при помощи которых робот может получать информацию из внешнего мира с целью взаимодействия с ним. Также, в зависимости от задач, поставленных перед ним, различаются и методы обработки этой информации. В данной статье я опишу основные этапы работы, выполненной в рамках школьного проекта, цель которого — систематизировать информацию, посвященную различным методам автономной навигации робота и применить полученные знания в процессе создания робота для соревнований «Кубок РТК».


Total votes 11: ↑11 and ↓0 +11
Views 6.9K
Comments 11

Задачи компьютерного зрения — поиск объектов нужного цвета

Python *
Tutorial

Введение


Сегодня я расскажу о том как распознать контур нужного цвета с помощью python/ opencv такая задача часто встречается в робототехнике, и всяких автоматизациях.

С помощью предложенного решения можно например различать контур линии за которую не должен выезжать робот, или обьект для коптера. Такая задача может возникнуть если нужно например увидеть что в корзину положили апельсин.

image
Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 3.7K
Comments 0

Как трекать людей в масках или универсальный подход к трекингу объектов произвольной природы

Open source *Python *GitHub Artificial Intelligence
Sandbox

Введение


С тех пор, как нейронные сети начали набирать популярность, большинство инженеров стали решать многие из задач ПО в области Public Safety методами deep learning. Несмотря на то что у нейросетей нет конкурентов в вопросах обнаружения (detection) и распознавания (identification) объектов, всё же они не могут похвастаться способностью анализировать и рассуждать, а лишь создают закономерности, которые не всегда можно понять или интерпретировать.


Мы придерживаемся такого мнения: для трекинга нескольких объектов более эффективными будут интерпретируемые и предсказуемые подходы, такие как, например, метод вероятностной ассоциации данных (probabilistic data association approach).


О точности трекинга и преимуществах выбранного нами подхода наглядно (подробнее в посте):


people in masks tracking with Re3 trackerpeople in masks tracking with AcurusTrack



Сравнение популярного трекера Re3 (слева) и нашего компонента AcurusTrack (справа)


Дисклеймер: этот пост не претендует на почетный статус “средства от всех бед в Public Safety Software”. Мы также не заявляем, что изобрели что-либо новое. Мы лишь приводим примеры некоторых популярных подходов к решению задачи мультитрекинга, анализируем их и предлагаем собственную практическую реализацию.


Целиком проект лежит на GitHub.

Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 6.4K
Comments 7

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 5

Python *
Tutorial

На прошлом уроке я рассказал о том, как повысить контрастность изображения и как выделить на изображении особе точки. Затем мы попробовали работать с найденными особыми точками. В частности, превратили эти точки в список  координат и попытались объединить близкие точки в одну, так как у нас получилось очень много точек рядом. В статье был предложен следующий алгоритм: при составлении списка, перед добавлением в список очередной точки проверять, находится ли она близко от последней, если да, то добавлять в тот же список, если нет, то начинать новый список.  Только проблема в том, что обход точек был через развертку, и могло получиться так, что близкие точки попадают в разные списки. Поэтому объединение точек получилось «криво».  Сегодня мы исправим этот недочет.

Для начала, почему мы вообще начали все эти хитрости с алгоритмом? Дело в том, что если решать задачу «в лоб», то время работы алгоритма у нас будет пропорционально квадрату размера списка. Собственно, давайте сначала проверим, насколько критично будет время работы алгоритма «в лоб» при разных ситуациях. И так, нам нужно перебрать все точки и сравнить их расстояния со всеми точками:

Читать далее
Total votes 4: ↑3 and ↓1 +2
Views 3.4K
Comments 1