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

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

Open source *
Sandbox
example
Буквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
Читать дальше →
Total votes 77: ↑70 and ↓7 +63
Views 54K
Comments 21

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

.NET *
Sandbox
Все началось с необходимости в одном из приложений получать снимок произвольного окна и 3-4 раза в секунду распознавать несколько областей изображения с заранее известными символами. Сделать скриншот окна с помощью WinAPI проблем не составило, а вот над распознаванием пришлось немного потрудиться.
Читать дальше →
Total votes 44: ↑33 and ↓11 +22
Views 17K
Comments 23

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

Image processing *
Sandbox

Пролог


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

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

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

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

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

Image processing *
Sandbox

Введение


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

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

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

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

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

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

PVS-Studio corporate blog Website development *C++ *

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

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

Image processing *
Sandbox
tesseract ocr

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

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

Open source *IT systems testing *.NET *C# *
Sandbox
Функциональное тестирование интерфейса (GUI) приложений — задача очень важная, нужная, но не всегда тривиальная. Основной вопрос тут: как сэмулировать работу пользователя? Простого, рядового пользователя, которому придется непосредственно изо дня в день работать с вашим софтом.

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

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

Development for Android *
Sandbox
Tutorial
image

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

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

Важная фича — опция OCR работает offline. OCR увеличивает ваш .apk приблизительно на 17mb.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 37K
Comments 8

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

Smart Engines corporate blog Open source *Programming *Algorithms *Concurrent computing *

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

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

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

Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 14K
Comments 7

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

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

image


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

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

Smart Engines corporate blog Programming *Data Mining *Algorithms *Image processing *

image


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

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 5K
Comments 4

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

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

Читать дальше →
Total votes 68: ↑68 and ↓0 +68
Views 43K
Comments 14

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

Java *Development for Android *Reverse engineering *
Tutorial


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


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

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 2.2K
Comments 2

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

Crowdsourcing

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




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

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

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

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

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

C++ *Image processing *

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


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


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

Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 22K
Comments 9

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

.NET *PDF C# *
Translation
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.

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 6.9K
Comments 7

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

FUNCORP corporate blog Python *Programming *Java *Kotlin *

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


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

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