Pull to refresh
  • by relevance
  • by date
  • by rating

OpenCV Hackathon is coming

Open source
image

Этим летом библиотека OpenCV отмечает свой двадцатый юбилей. OpenCV — самая большая библиотека компьютерного зрения в мире. Она используется чуть ли не в каждом мобильном телефоне, планшете и камере, не говоря уже о настольных системах и серверах. SourceForge рапортует о 20 миллионах скачиваний релизных версий библиотеки, и это число продолжает расти.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views2.2K
Comments 0

OpenCV ищет студентов для Google Summer of Code-2021

Algorithms

Крупнейшая библиотека компьютерного зрения OpenCV присоединилась к программе Google Summer of Code-2021 и объявляет набор студентов, которые хотели бы попробовать свои силы и заодно помочь улучшить работу библиотеки. Детальную информацию об OpenCV и ее участии в GSoC можно найти здесь

Читать далее
Total votes 3: ↑3 and ↓0 +3
Views1.2K
Comments 0

Face Detection на джаве — это просто!

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

Зачем это нужно — другой вопрос: мне, лично, понадобилось для создания модели распределения внимания по картинке, а кому-то, может быть, нужно для того, чтобы людей как в фейсбуке автоматически на групповой фотографии выделять.

Алгоритмы, в принципе, неплохо известны. Одним из лучших является алгоритм Viola & Jones, но поиск готовых имплементаций результатов не принёс. Было расстроился, но обратил внимание на замечательную нативную библиотеку — OpenCV. Библиотека ценна не только реализацией основных алгоритмов компьютерного зрения, но тем, что встречается решительно на всех платформах.

И что же вы думаете? Одним из первых в гугле выпадает вот такой замечательный проект JNI интерфейса к OpenCV!

Несколько минут закачки, десяток минут чтения документации с установкою программы, и ещё десяток — написание теста. А потом, и вот этими четырьмя строчками, просто берём и распознаём на картинке лица!

OpenCV cv = new OpenCV();
cv.loadImage("test.jpg", 300, 400);
cv.cascade("haarcascade_frontalface_default.xml");
Rectangle bounds[] = cv.detect();

Читать дальше →
Total votes 71: ↑68 and ↓3 +65
Views25.5K
Comments 76

Распознавание дорожных знаков (OpenCV)

Image processing
Здраствуйте, решил поделиться своим опытом применения OpenCV (Intel) при решении практической задачи.

Зачада стояла следущая — автоматическое распознавание дорожных знаков на видео желательно в режиме реального времени. К большому сожалению на русском языке очень мало информации по подобной проблеме, и еще меньше примеров.
Вообщем пошарив по интернету, было принято решение использовать библиотеку OpenCV, которая располагала необходимым мат. аппаратом и как позже оказалось, довольно высокой производительностью.

Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views42.6K
Comments 18

Взлом каптчи файлообменника

Artificial Intelligence

Введение



В данной статье коротко рассказывается о процессе взлома captcha с ifolder.ru. Применение в процессе языка Python и сторонних библиотек. Применение алгоритма преобразований Хафа в составе библиотеки Open Computer Vision © Intel позволит нам избавиться от шума на изображении, простая в использовании и быстрая библиотека FANN (Fast Artificial Neural Network) сделает возможным применение искусственной нейронной сети для задачи распознавания образа.

Моя мотивация состояла, прежде всего, в том, чтобы попробовать язык Python. Как известно, лучший способ изучить язык — решить на нём какую-нибудь прикладную задачу. Поэтому параллельно описанию процесса обработки изображения я буду рассказывать о том, какие библиотеки и для чего я использовал.
Сломать мозг
Total votes 183: ↑178 and ↓5 +173
Views27.7K
Comments 68

В поисках НЛО. Детект объектов на изображении

Artificial Intelligence
Взлом captcha это, конечно, интересно и познавательно, но, по большому счёту, бесполезно. Это лишь частный случай задачи, которая возникает в одном из интересных направлений развития IT – распознавание образов (pattern recognition).



Сегодня мы рассмотрим алгоритм (точнее, более правильно считать это методикой, т.к. она объединяет в себе множество алгоритмов), который стоит на стыке таких областей, как Machine Learning и Computer Vision.

С помощью этого алгоритма мы будем искать НЛО (позарился на святое) на изображениях.

Уберите детей!
Total votes 92: ↑91 and ↓1 +90
Views32.2K
Comments 37

OpenCV (компьютерное зрение). Установка под MSVS 2008. «Hello World»

Lumber room
image
OpenCV — это библиотека алгоритмов компьютерного зрения, обработки изображений. Исходный код является октрытым.

Эта вещь очень интересная и ей можно найти много применений: идентификация пользователя за компьютером, распознавание предметов, трэкинг объектов, а уж в робототехнике применений ещё больше!

В этом посте я опишу подробную установку данной библиотеки и мы напишем простейшую программу — этакий «Hello World» в компьютерном зрении. :)
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Views6K
Comments 24

OpenCV. Вывод видео

Lumber room
image

Сегодня я вам покажу как вывести видео в нашем приложении при помощи OpenCV. Это так же легко, как и работа с изображением. Помимо прошлых действий нам потребуется сделать цикл, для чтения каждого кадра видео, так же нам потребуется команда, по который мы сможем выйти из этого цикла, если видео покажется слишком скучным.=)
Приступим!

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views3.1K
Comments 1

OpenCV. Видео с камеры. Пишем в файл

Lumber room
image
Приветствую!

В прошлых уроках:
OpenCV. Вывод видео
OpenCV (компьютерное зрение). Установка под MSVS 2008. «Hello World»

Мы научились устанавливать OpenCV, написали первую программу и считывали видео из файла.

Сейчас я хочу показать вам, как просто захватывать видео с камеры и научимся сохранять видео в файл.
Поехали!
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views7.5K
Comments 8

OpenCV. Сравнительный анализ оболочек под C#

Lumber room
Занимаясь анализом фото и видео потоков, поиском информации на изображении невольно столкнулся с открытой библиотекой OpenCV, про которую уже не раз упоминалось на Хабре. Но проблема в том, что OpenCV реализована для C++, а я программирую на C#.
Итак, чтобы не изучать C++ в тех тонкостях, которые мне бы потребовались для использования OpenCV я решил поискать wrapper этой библиотеки написанный под C#.
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views6.8K
Comments 6

Автоматизация очистки снимков документов с помощью Sikuli

Algorithms
Некоторое время назад меня попросили расширить один давний комментарий до полноценного топика. Не думаю, что сам по себе он достаточно интересен, но у меня возникла идея: почему бы не совместить полезное с приятным и не познакомиться поближе с одним любопытным инструментом, новость о котором недавно облетела все айтишные ресурсы.

Проблема


Основная задача, которую будем решать в рамках данного топика — подготовка сканов и фотографий письменных источников (книг, лекций и т.п.) для их печати, компактного хранения, упаковки в djvu и т.п.
Photoshop и FineReader рассматривать не будем. Хотя они и предоставляют ряд полезных инструментов, но стоят денег, вообще говоря.
При наличии сканера обычно всё просто: получаются изображения достаточно хорошего качества, чтобы можно было обойтись минимальной обработкой.
С фотографиями интереснее: добавляются проблемы с освещением и геометрические искажения. Увы, исправление геометрических искажений автоматизировать, как минимум, сложно. А вот с освещением и фоном вполне можно побороться. Чем и займёмся.
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views7.4K
Comments 28

UnLogo, или как избежать маркетинга

Algorithms
Хочется представить хабрасообществу интересный проект, который, пока что не освещался на хабре.

UnLogo

По словам разрабочиков: UnLogo это веб-сервис, который избавляет ваше видео от логотипов и прочей корпоративной атрибутики.

Используя открытые компоненты OpenCV и FFMPEG, а так-же базу логотипов различных компаний данный софт может убирать логотипы из видеофайлов.

Видео под катом.

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views971
Comments 5

Измерение расстояния до объекта и его скорости

Image processing
Sandbox
Tutorial
Технологию, которую я собираюсь Вам представить, я не встречал в найденных мной методах определения расстояния до объекта на изображении. Она не является ни универсальной, ни сложной, суть её заключается в том, что видимое поле (будем считать, что мы используем видеокамеру) калибруется линейкой и затем сопоставляется координата объекта на изображении с отметкой на линейке. То есть измерение ведётся по одной линии или оси. Но нам не нужно хранить отметку на линейке для каждого пикселя, алгоритму для калибровки нужно только знать размер линейки в пикселях и в метрах, а также координату пикселя, который является фактической серединой линейки. Очевидное ограничение — работает только на плоских поверхностях.

Кроме самого метода в статье рассмотрена его реализация на языке Python с использованием библиотеки OpenCV, а также рассмотрены особенности получения изображений с вебкамер в Linux, используя video4linux2 API.


Читать дальше →
Total votes 65: ↑63 and ↓2 +61
Views47.3K
Comments 12

Распознавание некоторых современных CAPTCHA

PythonAlgorithmsImage processing
Sandbox
Именно так называлась работа, представленная мной на Балтийском научно-инженерном конкурсе, и принёсшая мне очаровательную бумажку с римской единичкой, а также новенький ноутбук.

Работа заключалась в распознавании CAPTCHA, используемых крупными операторами сотовой связи в формах отправки SMS, и демонстрации недостаточной эффективности применяемого ими подхода. Чтобы не задевать ничью гордость, будем называть этих операторов иносказательно: красный, жёлтый, зелёный и синий.

Читать дальше →
Total votes 319: ↑313 and ↓6 +307
Views74.5K
Comments 147

Опубликован код алгоритма Predator

Algorithms
Хотя сам Зденек Катал был против, но исходные коды его алгоритма отслеживания объектов в видеопотоке Tracking-Learning-Detection (aka Predator) всё-таки попали в открытый доступ. Судя по всему, они были какое-то время выложены на сайте автора и кто-то успел сделать копию. А поскольку код публиковался под лицензией GPL 2.0, то не осталось никаких препятствий для его дальнейшего распространения.

Проект TLD на github: 1, 2, 3, 4, 5

Основная часть сделана на Matlab и его относительно легко можно транслировать в C за пару дней.

Сам трекинг осуществляется методом Лукаса-Канаде и с помощью OpenCV.
Total votes 71: ↑69 and ↓2 +67
Views10.7K
Comments 51

Система учета на базе OCR системы

Image processing
Sandbox

Пролог


По ходу своей трудовой деятельности получил задачу придумать и реализовать систему учета рекламной информации. Учет заключался в проверке наличия нужной информации на нужном рекламном щите. Щит и полиграфия пронумерованы.
В качестве исходной информации для системы предлагалось использовать фото. После торговли согласования с дизайнерами было оговорено, что оба номера будут располагаться внутри одной рамки. Единственное, что рамка могла быть в любом месте щита.
Собственно на этом постановка задачи заканчивается и начинается повествование о реализации.
Задача решается в три действия:
  1. Нахождение нужного прямоугольника на изображении.
  2. Распознавание текста.
  3. Проверка правильности распознавания.

Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views7K
Comments 15

PSNR и SSIM или как работать с изображениями под С

Programming
Sandbox
imageВ данной статье я коснусь базовых принципов, как работать с изображениями. Для этого я выбрал библиотеку OpenCV. Она распространяется бесплатно, так что скачать ее не составит труда.
Когда мне на учебе дали задание написать две метрики для оценки различия двух картинок, в частности качества видоизмененной от исходной, меня это конечно все это немного смутило. Знания в программировании были, мягко говоря, не очень большими, как-никак был только на первом курсе. Благо, какую библиотеку выбрать сказали заранее, так что с этим труда не возникло. А вот как ее использовать это было уже на порядок сложнее, все, что я в основном смог нарыть в интернете, было на английском, хоть я его и знаю на уровне, что могу читать тех. литературу, вследствие огромности самой библиотеки, подходило мало. Отлично, что удалось, какие функции и как использовать, я смог потом уточнить у преподавателя. А требовалось только понять как обращаться к самой картинке, в частности к отдельным пикселям изображения. Кого заинтересовало, добро пожаловать под кат.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views19.7K
Comments 14

Viola Jones на собственной шкуре, часть 2. — Emotion? — OMG, Yes!!!

Algorithms
Привет всем еще раз! Я решил сразу попробовать выпустить две статьи, практически в одно время, чтобы не прерывать цепь повествования, т.к. начало данной статьи очень важно!
Итак, многие ждали примеры моей программы и объяснения ее работы с точки зрения написания кода. Я же рассказываю последовательно, чтобы каждый смог ее повторить у себя на компьютере. Обращайте внимание побольше на обильные комментарии в коде, в них сила! И не бойтесь мега-мелкого скролла, т.к. информации много. Передислоцируйтесь в место с хорошим интернетом, в статье много схем и фотографий!
Let's get it started!
Total votes 40: ↑26 and ↓14 +12
Views38.5K
Comments 10

Viola Jones на собственной шкуре, часть 1. Настройка проекта под OpenCV

Image processing
Привет, друзья мои! Дорогие Хабраюзеры и Хабрачитатели, предлагаю Вам окунуться в дебри разработки программы распознавания эмоций по материалам предыдущих моих статей.
Поехали!
Total votes 19: ↑15 and ↓4 +11
Views26.4K
Comments 9

Детектор попадания мячика с использованием OpenCV

DIY


Недавно мне довелось поучаствовать в одном интересном проекте. Моя сестра учится на дизайнера в БВШД, и им дали задание сделать проект на тему Street Interactive. Идея была выбрана довольно простая. На экране демонстрируется анимация движущегося медведя, всем желающим предлагается попасть в него из рогатки импровизированным снежком. Результат продемонстрирован на видео, кому интересна техническая реализация, добро пожаловать под кат.
Читать дальше →
Total votes 63: ↑57 and ↓6 +51
Views11.4K
Comments 9