Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Знакомство с OCR библиотекой tessnet2 (язык C#)

Open source
Из песочницы
example
Буквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
Читать дальше →
Всего голосов 77: ↑70 и ↓7 +63
Просмотры53.6K
Комментарии 21

Простая система оптического распознавания символов для .NET

.NET
Из песочницы
Все началось с необходимости в одном из приложений получать снимок произвольного окна и 3-4 раза в секунду распознавать несколько областей изображения с заранее известными символами. Сделать скриншот окна с помощью WinAPI проблем не составило, а вот над распознаванием пришлось немного потрудиться.
Читать дальше →
Всего голосов 44: ↑33 и ↓11 +22
Просмотры17.2K
Комментарии 23

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

Обработка изображений
Из песочницы

Пролог


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

Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Просмотры7K
Комментарии 15

Создаём приложение на С++ с использованием Tesseract-ocr, MinGW и напильника

C++
Из песочницы
Так случилось, что понадобилось нам внедрить в своё приложение возможность распознавания текста, поэтому начались поиски подходящей библиотеки. В конечном счёте остановились на двух опенсорсных проектах CuneiForm Linux и Tesseract-ocr. Внимательное изучение проекта CuneiForm показало, что это просто порт продукта компании Cognitive Technologies, исходники которого они открыли в 2008 году и благополучно забили получив свою порцию внимания (во всяком случае такое сложилось впечатление). По сути весь проект состоял в портировании, а о новых фичах даже речи не шло. Всё это, вкупе с печальной новостью на страничке проекта, заставило нас отказаться от CuneiForm в пользу Tesseract, который в данный момент принадлежит Google, что даёт некоторую уверенность в будущем проекта. Под катом опыт сборки Tesseract-ocr под Windows с использованием MinGW и последующего создания простейшего приложения на С++.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры25.2K
Комментарии 13

Оптическое распознавание символов в Linux

Обработка изображений
Из песочницы

Введение


Это не просто обзор существующих OCR (мы будем говорить всего о трёх) и не руководство по установке (хотя установка будет описана). Эта статья была создана с целью разобраться, что и как реально может распознать русский и английский языки в Linux.
Читать дальше →
Всего голосов 87: ↑82 и ↓5 +77
Просмотры73.7K
Комментарии 24

«Оцифровываем» каптчу единого реестра сайтов, защищающего людей от информации

Информационная безопасность
Tutorial
Совсем недавно открылся портал Единого государственного реестра сайтов. Отдельно от всего прочего мне приглянулась очень слабая каптча, и я решил её побороть.

Подобными вещами я уже занимался, правда, не в таком масштабе. Если вам интересно, как получить КПД распознавания в 57% используя только GNU/Bash, imagemagick и Tesseract-ocr, добро пожаловать под кат.

Нижеследующая инструкция может быть легко модифицирована под любые другие подобные слабые каптчи.
Читать дальше →
Всего голосов 63: ↑58 и ↓5 +53
Просмотры24.1K
Комментарии 48

Tesseract. Распознаем ошибки в системе распознавания

PVS-StudioРазработка веб-сайтовC++

Tesseract — свободная компьютерная программа для распознавания текстов, разрабатываемая компанией Google. В описании проекта говорится: «Tesseract is probably the most accurate open source OCR engine available». А давайте попробуем, сможет ли статический анализатор PVS-Studio распознать какие-то ошибки в этом проекте.
Читать дальше →
Всего голосов 52: ↑43 и ↓9 +34
Просмотры11.1K
Комментарии 16

Сборка Tesseract OCR под MinGW

Обработка изображений
Из песочницы
tesseract ocr

В одном из своих проектов мне потребовалось распознавание символов и мой выбор остановился на tesseract ocr. На Хабре уже была подобная статья, но на данный момент она не актуальна, во время установки не получилось в точности повторить инструкции автора. В данной статье рассказывается о процессе установке Tesseract OCR под MinGW.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры18K
Комментарии 3

Тестирование GUI приложений с помощью оптического распознавания текстов

Open sourceТестирование IT-систем.NETC#
Из песочницы
Функциональное тестирование интерфейса (GUI) приложений — задача очень важная, нужная, но не всегда тривиальная. Основной вопрос тут: как сэмулировать работу пользователя? Простого, рядового пользователя, которому придется непосредственно изо дня в день работать с вашим софтом.

Казалось бы, причем здесь распознавание текстов?
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры13K
Комментарии 13

Использование Open Source OCR библиотеки Tesseract в Android на примере простого приложения

Разработка под Android
Из песочницы
Tutorial
image

Сегодня я покажу, как добавить опцию распознавания текста (OCR) в Ваше Android приложение.

Наш тестовый проект — это один единственный Activity, в который я запихнула и распознавание. Итого в общем счете всего 200 строк кода.

Важная фича — опция OCR работает offline. OCR увеличивает ваш .apk приблизительно на 17mb.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры36.7K
Комментарии 8

Разве Tesseract распознаёт медленно?

Smart EnginesOpen sourceПрограммированиеАлгоритмыПараллельное программирование

Работу каждой программы можно ускорить минимум в десять раз

Рабочая установка разработчиков Smart Engines

Мы расскажем о нескольких приемах ускорения распознавания с помощью OCR Tesseract. Всё рассказанное было использовано в реализации проекта, смысл которого состоял в классификации большого числа образов страниц деловых документов (таких документов как паспорт, договор, контракт, доверенность, свидетельство о регистрации и т.п.) и сохранении результатов в электронном архиве. Часть алгоритмов классификации была основана на анализе собственно образов страниц, а часть – на анализе извлечённых из образа текстов. Для извлечения текстов было необходимо распознавание с помощью OCR.

Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Просмотры13.6K
Комментарии 7

Как pdf (изображения) преобразовать в текстовый txt-файл

PythonОбработка изображенийPDF
Из песочницы
Вы скажете, что самый простой способ — выделить весь текст в pdf, скопировать его в буфер обмена и вставить из буфера обмена в текстовый файл. И будете правы. Но это не наш случай. Файл pdf — результат сканирования многостраничного документа. Т.е. содержимое pdf — это изображения текста.

image


Предлагаемый вариант решения реализован под Windows-8, но с небольшими корректировками, думаю, вполне может быть использован для Linux и OS X.
С задачей преобразования изображения в текст справляются Abbyy FineReader, MS Word, MS OneNote. Существуют также сайты, на которых изображение можно преобразовать в online: http://www.ocrconvert.com
Предлагаемое решение использует бесплатные утилиты. В приоритете также была работа в командной строке.
Читать дальше →
Всего голосов 29: ↑26 и ↓3 +23
Просмотры37.5K
Комментарии 60

Простая технология классификации распознанных страниц деловых документов на основе метода Template Matching

Smart EnginesПрограммированиеData MiningАлгоритмыОбработка изображений

image


Задача классификации хорошо известна: требуется отнести произвольный объект из некоторой выборки к одному или нескольким классам из заранее определенного множества классов.

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры4.8K
Комментарии 4

Компьютерное зрение на примере приложения для IKEA. Часть 1

Разработка мобильных приложенийNode.JSОбработка изображений
Tutorial
Готовился к очередному хакатону, решил обновить свои знания в области компьютерного зрения. В прошлый раз задачу распознавания номеров авто в видеопотоке я так и не смог решить быстро «в лоб». Сейчас, поразмыслив, решил немного упростить задачу. Было много идей, листал фотки в телефоне и наткнулся на привычный кейс для всех, кто бывал в магазине ikea — фотографию с чеком, где указан номер товара и его положение на складе самообслуживания.

Читать дальше →
Всего голосов 68: ↑68 и ↓0 +68
Просмотры42.7K
Комментарии 14

Что делает сова в ZeroNights 2017 Crackme №3?

JavaРазработка под AndroidРеверс-инжиниринг
Tutorial
Recovery mode


ZeroNights 2017 Crackme №3 — довольно простое задание, но, тем не менее, и в нём есть несколько интересных моментов и сова.


Под катом — дизассемблирование, декомпиляция, pull request в IntelliJ IDEA и ни единого запуска отладчика.

Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры2.1K
Комментарии 2

Структурированную базу «Панамского архива» выложили в открытый доступ

Краудсорсинг

Самая масштабная утечка документов в истории интернета: 2,6 терабайта




Международный консорциум журналистов-расследователей (ICIJ) выложил в свободный доступ «Панамский архив»: крупнейшую базу данных об офшорных компаниях, полученную с компьютеров панамской юридической фирмы Mossack Fonseca неизвестными лицами.

Аноним (John Doe) передал репортёрам немецкой газеты Süeddeustche Zeitung 2,6 терабайта файлов — электронные таблицы, тексты писем, PDF, TIFF и другие форматы, в том числе древние и уже неиспользуемые. Понимая масштаб работы, те попросили ICJI организовать международный совместный проект.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры32.2K
Комментарии 68

Tesseract OCR tips — создание своего словаря для повышения эффективности OCR

Машинное обучение
Это мой первый пост об оптическом распознавании текста (OCR) с использованием Tesseract. Tesserast это очень популярная open source библиотека для OCR поддерживаемая Google, которая дает высокие результаты точности и поддерживает более 100 языков. В этом посте я расскажу как можно работать со стандартным словарем для языковой модели Tesseract и настроить его под свои нужды. Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры11.6K
Комментарии 2

Распознавание текста с помощью OCR

C++Обработка изображений

Tesseract — это движок оптического распознавания символов (OCR) с открытым исходным кодом, является самой популярной и качественной OCR-библиотекой.


OCR использует нейронные сети для поиска и распознавания текста на изображениях.


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

Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры20.1K
Комментарии 9

OCR для PDF в среде .NET — как извлечь текст из недоступных для поиска PDF документов

.NETPDFC#
Перевод
Tutorial

Извлечение текста — одна из популярных задач обработки PDF документов. Вам потребуется извлечь текст из PDF, чтобы:


  • проиндексировать документ для полнотекстового поиска
  • распарсить некоторые данные (например, названия и цены товаров в прайс-листе)
  • выделить, удалить или заменить некоторое слово или фразу

Извлечь текст вручную можно так: откройте документ в любом PDF просмотрщике, выделите и скопируйте текст. В большинстве документов это сработает. Такие документы называются "доступные для поиска PDF" или "searchable PDF". Текст в них выводится с помощью специальных PDF операторов, а связанные объекты шрифтов содержат правильную информация о соответствии глифов значениям Unicode.


Многие PDF библиотеки умеют извлекать текст из доступных для поиска PDF.


Однако, часто встречаются и недоступные для поиска PDF ("non-searchable PDF") документы. В них текст обычно выводится как растровое изображение. Типичный пример — сканированный PDF документ. Также текст в недоступных для поиска PDF может выводиться векторными путями без использования шрифтов и специальных PDF операторов.


Для извлечения текста из недоступных для поиска PDF выполняйте оптическое распознавание текста (OCR). Оптическое распознавание не гарантирует правильного извлечения текста в 100% случаев. Результат зависит от качества документа и алгоритма распознавания. Также OCR существенно медленней, чем извлечение текста из доступных для поиска PDF.


Посмотрим, как выполнить оптическое распознавание и извлечь текст из PDF документов в программе для платформы .NET.

Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры5.6K
Комментарии 7

Распознавание текста на картинке с помощью tesseract на Kotlin

FunCorpPythonПрограммированиеJavaKotlin

Ни для кого не секрет, что Python прочно занял первенство в ML и Data Science. А что если посмотреть на другие языки и платформы? Насколько в них удобно делать аналогичные решения?


К примеру, распознавание текста на картинке.

Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Просмотры9.4K
Комментарии 1
1