В настоящей заметке я расскажу о том, как можно построить систему оптического распознавания структурной информации, опираясь на алгоритмы, применяющиеся в обработке изображений и их реализации в рамках библиотеки OpenCV. За описанием системы стоит активно развивающийся open source проект Imago OCR, который может быть непосредственно полезен в распознавании химических структур, однако в заметке я не буду говорить о химии, а затрону более общие вопросы, решение которых поможет в распознавании структурированной информации различного рода, например таблицы или графики.
Читать полностью »
Рубрика «opencv» - 14
Построение системы оптического распознавания структурной информации на примере Imago OCR
2013-03-13 в 19:04, admin, рубрики: open source, opencv, Алгоритмы, бинаризация, векторизация, машинное обучение, обработка изображений, распознавание символов, химия, метки: opencv, бинаризация, векторизация, машинное обучение, распознавание символов, химияИспользование OpenCV в Delphi
2013-02-27 в 9:11, admin, рубрики: Delphi, open source, opencv, обработка изображений, Программирование, метки: Delphi, opencvТак случилось, что я активно использую Delphi в своей работе (программирование по работе, собственные открытые и закрытые проекты) и вот мне понадобилось написать программу, использующую открытую библиотеку компьютерного зрения OpenCV. Что же делать, ведь официально OpenCV использовать в Delphi невозможно, а перебираться на C ради одной программы слишком долго.
Но нет ничего невозможного…
Читать полностью »
Камера-модуль для Raspberry Pi будет стоить $25 и снимать FullHD-видео
2013-02-07 в 7:20, admin, рубрики: diy или сделай сам, fullhd, opencv, обработка изображений, Работа с видео, распознавание лиц, роботехника, метки: fullhd, opencv, распознавание лиц, роботехника
После начала разработки в мае 2012 года прошло долгое время. Сделать камера-модуль для Pi оказалось не так просто, но работа близится к концу. В официальном блоге говорят, что в продаже камера-модули появятся через месяц или чуть позже. Качество фотографий уже «вполне хорошее», а к началу продаж его обещают довести до «прекрасного». Заранее объявлена цена: $25 за модуль.
Читать полностью »
Просмотр изображений OpenCV во время отладки C++ кода в Visual Studio
2012-12-06 в 8:48, admin, рубрики: c++, Debugger Visualizers, opencv, Visual Studio, обработка изображений, метки: c++, Debugger Visualizers, opencv, Visual Studio
Если вы пишете код для обработки изображений на С++, вы наверняка используете замечательную библиотеку OpenCV. Уверен, вам не раз хотелось посмотреть на изображения в процессе отладки вашего кода. Для этого можно использовать такие удобные функции как imshow или imwrite. Однако это требует модификации исходного кода, а любая современная IDE во время отладки позволяет смотреть значения переменных на лету. Вот было бы здорово так же смотреть изображения?
Если в качестве IDE вы пользуетесь Visual Studio, то знаете, что с .NET в этом плане всё проще. Однако речь идёт про OpenCV, а это только native C++, только хардкор. В этой статье я расскажу, как всё-таки заставить Visual Studio показывать изображения прямо в процессе отладки и дам ссылку на готовое решение. А также коротко расскажу о способах кастомизации Visual Studio.
Читать полностью »
Конкурс «Интернет-математика: Яндекс.Карты» — опыт нашего участия и описание победившего алгоритма
2012-11-19 в 6:33, admin, рубрики: computer vision, itseez, opencv, Алгоритмы, Блог компании «Itseez», интернет-математика, Компьютерное зрение, обработка изображений, яндекс, метки: computer vision, itseez, opencv, интернет-математика, Компьютерное зрение, обработка изображений, яндексПрошло уже больше года после завершения конкурса "Интернет-математика: Яндекс.Карты", но нас до сих пор спрашивают об алгоритме, который принёс нам победу в этом конкурсе. Узнав о том, что недавно Яндекс объявил о старте очередной "Интернет-математики", мы решили поделиться опытом нашего прошлогоднего участия и описать наш подход. Разработанный алгоритм смог с точностью 99.44% правильно определить лишние изображения в сериях панорамных снимков, например, как здесь:
В этой статье мы описываем основные идеи алгоритма и приводим его детали для интересующихся, рассказываем об извлечённых уроках и о том, как это всё вообще было.
Исходный код нашего решения доступен на github (C++ с использованием OpenCV).
Читать полностью »
OpenCV 2.4.3
2012-11-03 в 17:19, admin, рубрики: image processing, itseez, opencv, Блог компании «Itseez», Компьютерное зрение, обработка изображений, метки: image processing, itseez, opencv, Компьютерное зрениеАвторы: Анатолий Бакшеев, Кирилл Корняков(kirillkornyakov), Андрей Морозов(aod314), Вадим Писаревский, Олег Скляров(olegsklyarov), Евгений Таланин, Александр Шишков(AlexanderShishkov).
Привет!
Мы рады сообщить, что 2 ноября увидела свет новая версия OpenCV, свободной библиотеки компьютерного зрения. Этот пост написан разработчиками библиотеки, работающими в компании Itseez. Мы перечислим основные нововведения с момента выхода предыдущей версии, стоит отметить, что их достаточно много: новые алгоритмы, ускорение существующих, поддержка новых платформ, обновление процесса разработки, интеграции и тестирования, а так же обновлённая документация. За время подготовки релиза было закрыто более 210 задач на трекере (hackathon, release candidate, release): патчи, исправления ошибок, расширение существующей функциональности.
Но обо всём по порядку.
Читать полностью »
Активные модели внешнего вида
2012-10-23 в 7:40, admin, рубрики: open source, opencv, обработка изображений, метки: opencv, обработка изображенийАктивные модели внешнего вида (Active Appearance Models, AAM) — это статистические модели изображений, которые путем разного рода деформаций могут быть подогнаны под реальное изображение. Данный тип моделей в двумерном варианте был предложен Тимом Кутесом и Крисом Тейлором в 1998 году [1]. Первоначально активные модели внешнего вида применялись оценки параметров изображений лиц, но затем они стали активно применяться и в других областях, в частности, в медицине при анализе рентгеновских снимков и изображений, полученных с помощью магнито-резонансной томографии.
В данной статье рассматривается краткое описание того, как функционируют активные модели внешнего вида и связанного с этим математического аппарата, а также приводится пример их реализации.
Распознавание плоских объектов OpenCV 2.4
2012-10-22 в 11:31, admin, рубрики: computer vision, opencv, обработка изображений, распознавание объектов, метки: computer vision, opencv, распознавание объектов Привет всем. Я хотел бы рассказать о принципах, лежащих в основе распознавания объектов с использованием OpenCV. Благо какое-то время мне довелось поработать в лаборатории компьютерного зрения ВМК МГУ, и я немного вник в премудрости этой ветви computer science. Задача, которую я буду рассматривать здесь, предлагалась на Microsoft Computer Vision School Moscow 2011 на семинарах Виктора Ерухимова, одного из разработчиков программного комплекса OpenCV. Почти в таком же виде рассматриваемый код можно найти в демках OpenCV 2.4.
Читать полностью »
Qt + OpenCV. Новое устройство GigE интерфейса доступа к сетевым видеокамерам как CvCapture
2012-08-01 в 9:18, admin, рубрики: c++, opencv, qt, Qt Software, обработка изображений, Программирование, метки: opencv, Qt, обработка изображений, Программирование Как говорил Генрих VIII очередной жене, — «Я вас долго не задержу...»
Если вас, уважаемый читатель, угораздило приобрести видеокамеру, поддержка которой не обеспечена библиотекой OpenCV, а методы работы оной с изображениями ой как нужны, не следует расстраиваться.
Сперва изучим, что нам преподнесли, или что сами, несведующие, купили.
- Интерфейс GigE поддерживается SDK, лежащей в свободном доступе или поставленной совместно с товаром. Первый плюс!
- Документация более-менее осмыслена. Снова повезло!
- Примеры есть! Надо же… Плюс!
Итак, я стал «счастливчиком» по плюсикам этого списка, заполучив камеру Smartek Giganetix GC1921M
Методы SDK работают, но как-то так… Код частично закрыт. Уровень программиста стал понятен из фрагмента кода
...
if (m_selectedDevice->IsConnected()){
m_disconnectAct->setEnabled(true);
m_fwUpdateAct->setEnabled(true);
}
...
Если у вас возник вопрос, — «А что тут такого?», — я не смогу отправить вас на машине времени в советский вуз, где за это с вас снимут балл на экзамене. :)
Да, и ладно. Нам-то нужно, всего лишь, подключиться, принять поток и отключиться. Благо, примеры — на месте.
Читать полностью »