Bazaprogram.ru

Новости из мира ПК
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Распознавание текста java

Тессеракт OCR с Java с примерами

В этой статье мы узнаем, как работать с Tesseract OCR в Java, используя Tesseract API .

Что такое Тессеракт OCR?
Tesseract OCR — это оптический механизм чтения символов, разработанный лабораториями HP в 1985 году и открытый в 2005 году. С 2006 года он разрабатывается Google. Tesseract поддерживает Unicode (UTF-8) и может распознавать более 100 языков «из коробки» и, таким образом, может использоваться для создания различных программ сканирования языков. Последняя версия Tesseract — это Tesseract 4 . Он добавляет новый механизм распознавания текста на основе нейронной сети (LSTM), который ориентирован на распознавание линий, но также поддерживает устаревший механизм распознавания текста Tesseract, который работает, распознавая шаблоны символов.

Обычно OCR работает следующим образом:

  1. Предварительная обработка данных изображения, например: преобразование в оттенки серого, сглаживание, удаление перекоса, фильтрация.
  2. Определить строки, слова и символы.
  3. Создайте ранжированный список кандидатов-персонажей на основе обученного набора данных. (здесь метод setDataPath () используется для установки пути данных тренера)
  4. Проводите обработку распознаваемых символов, выбирайте лучшие символы на основе достоверности из предыдущего шага и языковых данных. Языковые данные включают словарь, грамматические правила и т. Д.

Преимущества OCR многочисленны, но именно:

  • это повышает эффективность и результативность офисной работы
  • Возможность мгновенного поиска по контенту чрезвычайно полезна, особенно в офисных условиях, которые имеют дело с большим объемом сканирования или большим потоком документов.
  • OCR быстро гарантирует, что содержимое документа остается неизменным, а также экономит время.
  • Рабочий процесс увеличивается, поскольку сотрудникам больше не нужно тратить время на ручной труд, и они могут работать быстрее и эффективнее.
  • OCR ограничен распознаванием языка.
  • Требуется много усилий, чтобы собрать данные тренера на разных языках и реализовать их.
  • Также необходимо проделать дополнительную работу по обработке изображений, так как это самая важная часть, которая действительно имеет значение, когда дело доходит до производительности оптического распознавания текста.
  • Выполнив такой большой объем работы, ни одно OCR не может предложить точность 100%, и даже после OCR мы должны определить неопознанный символ с помощью соседних методов машинного обучения или исправить его вручную.

Как использовать Tesseract OCR

  1. Первый шаг — загрузить API Tess4J по ссылке.
  2. Извлеките файлы из загруженного файла
  3. Откройте вашу IDE и создайте новый проект
  4. Свяжите файл jar с вашим проектом. Перейдите по этой ссылке .
  5. Пожалуйста, мигрируйте по этому пути «../Tess4J-3.4.8-src/Tess4J/dist».

Теперь вы закончили со своим ссылочным флягой в своем проекте и готовы использовать движок tesseract.

Выполнение OCR на чистых изображениях

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

public class Test <

public static void main(String[] args)

Tesseract tesseract = new Tesseract();

// путь к вашей папке данных tess

// внутри извлеченного файла

= tesseract.doOCR( new File( «image.jpg» ));

// путь к вашему файлу изображения

catch (TesseractException e) <

Выполнение OCR на нечетких изображениях

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

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

Вы можете обратиться к этой статье за подробным пониманием того, как можно улучшить точность. Чтобы реализовать то же самое в JAVA, мы создадим небольшую интеллектуальную модель, которая будет сканировать RGB-контент изображения, а затем преобразовывать его в оттенки серого, а также мы будем выполнять некоторый эффект масштабирования изображения.

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

public class ScanedImage <

public static void

throws IOException, TesseractException

// Создание пустого буфера изображения

// сохранить изображение позже

// ipimage — буфер изображения

= new BufferedImage( 1050 ,

// на буфер изображения

// для рисования нового изображения

// рисуем новое изображение, начиная с 0 0

// размером 1050 x 1024 (увеличенные изображения)

// null — это объект класса ImageObserver

graphic.drawImage(ipimage, 0 , 0 ,

1050 , 1024 , null );

// изменить масштаб OP-объекта

// для серого изображения

= new RescaleOp(scaleFactor, offset, null );

// и запись в файл .png

new File( «D:\Tess4J\Testing and learning\output.png» ));

// Создание класса Тессеракта

// который используется для выполнения OCR

Tesseract it = new Tesseract();

it.setDatapath( «D:\Program Files\Workspace\Tess4J» );

// делаем OCR на изображении

// и сохраняем результат в строке str

String str = it.doOCR(fopimage);

public static void main(String args[]) throws Exception

«D:\Tess4J\Testing and learning\Final Learning Results\input.jpg» );

BufferedImage ipimage = ImageIO.read(f);

// получение содержимого RGB всего файла изображения

// и установка новых значений масштабирования

Создание Android приложения для распознавания текста за 10 Минут. Mobile Vision CodeLab

Видео версия туториала

Оптическое распознавание символов (англ. Optical Character Recognition, сокр. OCR) дает компьютеру возможность читать текст на изображении, позволяя приложениям понимать знаки, статьи, листовки, страницы текста, меню или что угодно в виде текста. Mobile Vision Text API предоставляет разработчикам Android мощную и надежную возможность OCR , которая поддерживает большинство устройств Android и не увеличивает размер вашего приложения.

В этом туториале вы создадите приложение, в котором в процессе видеосъёмки будет распознаваться и воспроизводиться весь текст, попадающий в кадр.

Читать еще:  Java linkedlist пример

Также мы публиковали статьи о других функциях Mobile Vision:

Исходный код

Вы можете скачать исходный код …

… или склонировать репозиторий GitHub из командной строки:

Репозиторий visionSamples содержит много примеров проектов, связанных с Mobile Vision . В этом уроке используется только два:

  • ocr-codelab/ocr-reader-start – начальный код, который вы будете использовать в этом уроке.
  • ocr-codelab/ocr-reader-complete – полный код готового приложения. Вы можете использовать его для устранения неполадок или перейти сразу к рабочему приложению.

Обновление сервисов Google Play

Возможно, вам потребуется обновить установленную версию Google Repository , чтобы использовать Mobile Vision Text API .

Откройте Android Studio и откройте SDK Manager :

Убедитесь, что Google Repository обновлен. Он должен быть не менее 26 версии.

Добавление зависимости Google Play Services и создание приложения для запуска

Теперь можно открывать стартовый проект:

  1. Выберите каталог запуска ocr-reader из загруженного кода (File >Open > ocr-codelab/ocr-reader-start ).
  2. Добавьте зависимость Google Play Services к приложению. Без этой зависимости Text API не будет доступен.

Проект может указать на отсутствие файла integer/google_play_services_version и выдать ошибку. Это нормально, мы исправим это на следующем шаге.

Откройте файл build.gradle в app модуле и измените блок зависимостей, включив туда зависимость play-services-vision . Когда все будет готово, файл должен выглядеть так:

  1. Нажмите кнопку синхронизации Gradle .
  2. Нажмите кнопку запуска.

Через несколько секунд вы увидите экран «Read Text», но это всего лишь черный экран.

Сейчас ничего не происходит, потому что CameraSource не настроен. Давайте сделаем это.

Если у вас что-то не получается, вы можете открыть проект ocr-reader-complete и убедиться, что он работает правильно. Этот проект является готовой версией урока, и если эта версия не работает, вы должны проверить, что всё в порядке с вашим устройством и настройками Android Studio .

Настройте TextRecognizer и CameraSource

Чтобы начать работу, мы создадим наш TextRecognizer . Этот объект-детектор обрабатывает изображения и определяет, какой текст появляется внутри них. После инициализации TextRecognizer может использоваться для обнаружения текста во всех типах изображений. Найдите метод createCameraSource и создайте TextRecognizer :

Теперь TextRecognizer готов к работе. Однако, возможно, он еще не работает. Если на устройстве недостаточно памяти или Google Play Services не может загрузить зависимости OCR , объект TextRecognizer работать не будет. Прежде чем мы начнем использовать его для распознавания текста, мы должны проверить, что он готов. Мы добавим эту проверку в createCameraSource после инициализации TextRecognizer :

Теперь, когда мы проверили, что TextRecognizer готов к работе, мы можем использовать его для распознавания отдельных кадров. Но мы хотим сделать что-то более интересное: читать текст в режиме видеосъёмки. Для этого мы создадим CameraSource , который предварительно настроен для управления камерой. Нам необходимо установить высокое разрешение съёмки и включить автофокусировку, чтобы справиться с задачей распознавания небольшого текста. Если вы уверены, что ваши пользователи будут смотреть на большие блоки текста, например вывески, вы можете использовать более низкое разрешение, и тогда обработка кадров будет происходить быстрее:

Вот как должен выглядеть метод createCameraSource , когда вы закончите:

Если вы запустите приложение, то увидите, что началась видеосъёмка! Но для обработки изображений с камеры нам нужно дописать этот последний TODO в createCameraSource : создать Processor для обработки текста по мере его поступления.

Создание OcrDetectorProcessor

Сейчас ваше приложение может обнаруживать текст на отдельных кадрах, используя метод обнаружения в TextRecognizer . Так можно найти текст, например, на фотографии. Но для того, чтобы читать текст прямо во время видеосъёмки, нужно реализовать Processor , который будет обрабатывать текст, как только он появится на экране.

Перейдите в класс OcrDetectorProcessor реализуйте интерфейс Detector.Processor :

Для реализации этого интерфейса требуется переопределить два метода. Первый, receiveDetections , получает на вход TextBlocks из TextRecognizer по мере их обнаружения. Второй, release , используется для освобождения от ресурсов при уничтожении TextRecognizer . В этом случае нам нужно просто очистить графическое полотно, что приведёт к удалению всех объектов OcrGraphic .

Мы получим TextBlocks и создадим объекты OcrGraphic для каждого текстового блока, обнаруженного процессором. Логику их рисования мы реализуем на следующем шаге.

Теперь, когда процессор готов, мы должны настроить textRecognizer для его использования. Вернитесь к последнему оставшемуся TODO в методе createCameraSource в OcrCaptureActivity :

Теперь запустите приложение. На этом этапе при наведении камеры на текст вы увидите отладочные сообщения «Text detected!» в Android Monitor Logcat ! Но это не очень наглядный способ визуализации того, что видит TextRecognizer , правда?

На следующем шаге мы отрисуем этот текст на экране.

Рисование текста на экране

Давайте реализуем метод draw в OcrGraphic . Нам нужно понять, есть ли на изображении текст, преобразовать координаты его границ в рамки канваса, а затем нарисовать и границы, и текст.

Запустите приложение и протестируйте его на этом образце текста:

Вы должны увидеть, что на экране появляется рамка с текстом в ней! Вы можете поиграть с цветом текста, используя TEXT_COLOR .

Как насчет этого?

Рамка вокруг текста выглядит правильно, но текст находится в нижней её части.

Это связано с тем, что движок передает весь текст, который он распознает в TextBlock в виде одного предложения, даже если он видит предложение, разбитое на несколько строк. Если вам нужно получить целое предложение, то это очень удобно. Но что, если вы хотите знать, где расположена каждая отдельная строка текста?

Вы можете получить Lines из TextBlock , вызвав getComponents , а затем, перебирая каждую строку, запросто получить её местоположение и текст внутри неё. Это позволяет рисовать текст в том месте, где он действительно появляется.

Попробуйте снова этот текст:

Отлично! Вы даже можете разбивать найденный текст на ещё более мелкие составляющие, исходя из ваших потребностей. Можно вызвать getComponents на каждой строке и получить Elements (слова на латинице). Есть возможность настройки textSize , чтобы текст занимал столько места, сколько занимает реальный текст на экране.

Читать еще:  Webbrowser c javascript

Воспроизведение текста при нажатии на нём

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

Используя TextToSpeech API , встроенный в Android , и метод contains в OcrGraphic , мы можем научить приложение говорить вслух, при нажатии на текст.

Сначала давайте реализуем метод contains в OcrGraphic . Нам просто нужно проверить, находятся ли координаты x и y в пределах рамки отображаемого текста.

Вы можете заметить, что здесь много общего с методом Draw ! В настоящем проекте вам следовало бы добиться переиспользования кода, но здесь мы оставим всё как есть просто ради примера.

Теперь перейдем к методу onTap в OcrCaptureActivity и обработаем нажатие по тексту, если он есть в этом месте.

Вы можете запустить приложение и через Android Monitor Logcat убедиться, что нажатие на текст действительно обрабатывается.

Давайте же заставим наше приложение говорить! Перейдите в начало Activity и найдите метод onCreate . При запуске приложения мы должны инициализировать движок TextToSpeech для дальнейшего использования.

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

TextToSpeech также зависим от языка распознавания. Вы можете изменить язык на основе языка распознанного текста. Распознавание языка не встроено в Mobile Vision Text API , но оно доступно через Google Translate API . В качестве языка для распознавания текста можно использовать язык устройства пользователя.

Отлично, осталось только добавить код воспроизведения текста в методе onTap .

Теперь, когда вы запустите приложение и нажмёте на обнаруженный текст, ваше устройство воспроизведёт его. Попробуйте!

Завершение

Теперь у вас есть приложение, которое может распознавать текст с камеры и проговаривать его вслух!

Полученные знания по распознаванию текста вы можете применить и в других ваших приложениях. Например, читать адреса и номера телефонов с визитных карточек, производить поиск по тексту с фотографий различных документов. Одним словом, применяйте OCR везде, где вам может потребоваться распознать текст на изображении.

Распознавание текста java

Краткое описание:
OCR Text Scanner

Описание:
Сканер текста. Высокоточное распознавание текста с изображений, кроме рукописного текста. Поддерживает более 55 языков, в том числе и русский.

О программе
Требуется Android: 4.1 и выше
Русский интерфейс: Да (перевод от papasha55 )
p Разработчик: Rishi Apps
H Домашняя страница: http://mikepenz.com/
Версия free:
Версия Pro:
Видео YouTube:

Версия: 2.0.1обновление от Google Play Market (gorand39)
Версия: 2.0.0обновление от Google Play Market (gorand39)
Версия: 1.9.9 GPСообщение №69, автор And_RU
Версия: 1.9.9Patched by derrin (betmen2)
Версия: 1.9.9 Patched RuСообщение №71, автор papasha55
версия: 1.6.1 Pro
OCR Text Scanner (Пост papasha55 #79282249)
версия: 1.6.1 ProOCR Text Scanner (Пост slim208 #80507103)
Версия: 1.9.8Patched by derrin (betmen2)
Версия: 1.9.7Unlocked by koumkouat (betmen2)
Версия: 1.6.4(build 121) Patched by koumkouat (betmen2)
Версия: 1.9.6(Free) от Google Play Market (gorand39)
Версия: 1.6.4Patched (Alex0047)
версия: 1.8.9 freeOCR Text Scanner (Пост washerron)
версия: 1.6.3 PatchedСообщение №43, автор Alex0047

    версия: 1.6.1 ProOCR Text Scanner (Пост Alex0047 #79278372)
  • v1.6.0 pro OCR Text Scanner (Пост Alex0047 #78917560)
  • v1.5.9 pro OCR Text Scanner (Пост Alex0047 #78214407)
  • v1.5.8 pro OCR Text Scanner (Пост Alex0047 #77730545)
  • v1.5.7 pro
    OCR Text Scanner (Пост Alex0047 #77515208)
  • v1.5.6 pro OCR Text Scanner (Пост Alex0047 #77069934)
  • v1.5.5 pro OCR Text Scanner (Пост Alex0047 #76816719)
  • v1.5.4 pro
    OCR Text Scanner (Пост Alex0047)
  • v1.5.3 pro OCR Text Scanner (Пост Alex0047 #75151987)
  • v1.5.2 pro OCR Text Scanner (Пост Alex0047 #74667660)
  • v1.5.1 pro
    OCR Text Scanner (Пост washerron #74287650)
  • v.1.5.0 pro
    OCR Text Scanner (Пост Alex0047 #73876302)
    Pro Rus OCR Text Scanner (Пост papasha55)
  • версия Rus: 1.4.8 Pro и 1.7.3 Rus
    OCR Text Scanner (Пост papasha55)
  • v1.4.8
    pro Сообщение №14, автор Alex0047
  • v1.4.7
    Rus Сообщение №13, автор papasha55
  • v1.7.2
    free TextScanner [1.7.2].apk ( 15,43 МБ )

  • v1.4.7 Pro Сообщение №12, автор Alex0047
  • v1.4.6 Pro Rus OCR Text Scanner (Пост papasha55 #68940599)
  • v1.4.6 TextScanner Pro [1.4.6].apk ( 9,94 МБ )
  • Сообщение отредактировал iMiKED — 29.03.20, 15:08

    Сообщение отредактировал papasha55 — 24.02.18, 19:49

    с русского плохо распознаёт. Язык английский или другие.

    AHaHacbi
    co B36HTBIMH CIHBKaMH
    15 MHHyT
    Heo6xojHMbie npoayKTH:
    125 m.a aHaHacoeo20 cOKa
    10 2IceaamuHa
    4 KpyCOKa KOHCcepeupoeaHHoeo
    aHaHaca
    50 2 caxapa
    2suua
    I. a0HCKa KpaxMaaa
    200 Ma 836umbix causoK
    Cnoco6 npHroTOBJeHH.
    COK BJIHTb B KaCTproJIIO, I1OCTaBHTb Ha
    oroH H HeMHoro 1oAorpeTb.Jo6aBHTb
    pa3BeeHHbBHe6oJbOM ecTBe
    XOJIOAHOH BObI KejiaTHH.
    Ha AHO kacTpIoJIH IOJIOKHTb Kpy-
    KOHKH aHaHaca. B36HTb Iac caxapoM
    HKpaxMaIOM H BIHTb B COK. CMecb, 10-
    MelIIHBaH, eIe pa3 ITOorpeTb, HO He
    KHIHTHTb.
    3areM, He nepecTaBa noMeBaTb,
    ocTyAHTb, BBeCTH B36HTIe cJIHBKH H

    неадекватный анализ чувствительности, который определяется утем оценки, насколько из
    менение подходов к объединению данных может отразкться на главных результатах;
    . противоречия с новыми данными-сравнение результатов метаанализа с результатами хоро
    шо организованных, рандомизированных, контролируемых исследований (мегаисследова
    ний). Например, использование сульфата магния при ОИМ (ISIS-4) дало отрицательный ре
    зультат, в то время как проведенный до этоro метаанализ дал положительную оценку пред
    рату
    Как ос
    ся к результатам метаанализа
    качественный, основывающийся на систематизированном обзоре, дает достаточно надежную
    оценку эффективности вмешательства или позволяет сформулировать вопросы для дальней
    тих исследовании;
    . не гарактирован от ошибок и зависит от качества изучавшихся клинических исследований;
    . позволяет получить ответ лишь на один четко сформулированный вопрос:
    . отрицательный результат не означает, что данное вмешательство вообще бесполезно. Оно мо
    езультаты клинических исследований и заключение метаанализа, сделанного на их основе
    Клнниеское руководство-это систематически разрабатываемые положения, помоающие
    жет оказаться эффективным при лечении других групп больных
    обычно используютя при написании клинических руководств (рекомендаций)
    практическому врачу и пациенту принять правильное решение, касающееся его здоровья, в специ
    фических клинических условиях
    Критерии включения клинических исследовани
    в руководства
    налекость доказательств, которая подразумевает надежность гипотезы исследования, дизай
    на, статистических методо8 и бди ельность отношении возможных источников ошибок, при
    ч31ной которых могут быть отбор пациен ов, неправильная рандомизация, эквивалентная
    (кроме испытуемой) терапия в группах, выход пациентов из исследований или переход в груп
    пах, определение конечных точек и их анализ после окончания исследования;
    . несомненный терапевтический эффект, а не только статистическая значимость: например, при
    одинаковом относительном риске абсолютный риск может значительно отличаться и не иметь
    заметного клинического значения
    Значение клинических руководств (рекомендаций):
    инструмент повышения качества медицинской помощи-информирует об эффективных и бе
    зопасных методах диагностики и лечения; способствует внедрению новых эффективных тех
    нолотна: позволяет избеrать необоснованных вмешательств
    . основа разработки индикаторов качества меляцииской помощи (контроль);
    . основа непрерывного медицинского образования (учебники и последипломное образованк
    . основа экономических расчетов в здравоохранении (таблицы стоимостн лечения, перечни rc
    Клинические руководства (рекомендации) разрабатываются и утверждаются профессиона
    врачей)
    отгимизация расходов ресурсов за счет отказа от необоснованных вмешательств;
    гарантий)
    ными медицинскими ассоциациями (обществами). Обычно они содержат методы диагностики, кл
    сификацию, план и условия ведения больного (продолжительность лечения, этапы, длительно
    госпитализации и т.д.), алоритмы ведения больного уровни достоверности лечебных мероприят
    и показания к назначению мероприятия, особенности лечения отдельных групп больных, схемы
    карственной терапии с дозами к другую информацию, необходимую врачу для принятия решен
    различных клинических ситуациях
    Эти рекомендации предназначены врачам организаторам здравоохранения, которые могу
    использовать для разработки индикаторов качества и управления качеством лечеоно-диагностн
    кого процесса, разработки типовых табелей оснащения, непрерывного повышения квалифик
    врачей, формирования объемов медицинской помощи
    рамках государственных грантии

    Сообщение отредактировал washerron — 10.01.18, 19:28

    Зачем ей инет? :russian: выкачал русский язык, обрубил в netguard, запустил распознавание с фото — грит, шо без инета нема. Во дела.

    Сообщение отредактировал bratken — 24.01.18, 14:12

    Разработка решения для управления документооборотом: как мы выбирали OCR библиотеку для наших задач

    30 Августа, 2017

    Нам нужно было улучшить документооборот в нашей компании, в первую очередь — увеличить скорость обработки бумажных документов. Для этого мы решили разработать программное решение на базе одной из OCR (optical character recognition) библиотек.

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

    Кроме того, OCR используется как метод ввода информации из бумажных документов (включая финансовые записи, визитные карточки, счета-фактуры и многое другое).

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

    Мы проанализировали три наиболее популярные OCR библиотеки:

    — Google Text Recognition API

    Google Text Recognition API

    Google Text Recognition API — это процесс обнаружения текста в изображениях и видео потоках и распознавания содержащегося в нем текста. После обнаружения распознаватель определяет фактический текст в каждом блоке и разбивает его на слова и строки. Он обнаруживает текст различных языков (французский, немецкий, английский и т.д.) в режиме реального времени.

    Стоит отметить, что, в целом, данная OCR с поставленной задачей справилась. Мы получили возможность распознавать текст как в real-time, так и с уже готовых изображений текстовых документов. В ходе анализа данной библиотеки мы выявили как преимущества, так и недостатки ее использования.

    — Возможность распознавания текста в реальном времени

    — Возможность распознавания текста с изображений;

    — Небольшой размер библиотеки;

    — Высокая скорость распознавания.

    — Большой размер файлов с обученными данными (

    Tesseract

    Tesseract — это OCR библиотека с открытым исходным кодом для разных операционных систем. Представляет собой бесплатное программное обеспечение, выпущенное под лицензией Apache, версия 2.0, поддерживает различные языки.

    Разработка Tesseract финансировалась компанией Google с 2006 года, время, когда она считалась одной из наиболее точных и эффективных OCR библиотек с открытым исходным кодом.

    Как бы то ни было на тот момент, результатами внедрения Tesseract мы остались не сильно довольны, т.к. библиотека невероятно объемная и не позволяет распознавать текст в реальном времени.

    — Имеет открытый исходный код;

    — Соответственно, достаточно легко обучить OCR распознавать нужные шрифты и повысить качество распознаваемой информации. После быстрых настройки библиотеки и обучения качество результатов распознавания стремительно возросли.

    — Недостаточная точность распознавания, что устраняется путем тренировки и обучения алгоритма распознавания;

    — Для распознавания текста в реальном времени требуется дополнительная обработка полученного изображения;

    — Небольшая точность распознавания при использовании стандартных файлов с данными о шрифтах, словах и символах.

    Anyline

    Anyline предоставляет многоплатформенный SDK, который позволяет разработчикам легко интегрировать функции OCR в приложения. Данная OCR библиотека привлекла нас многочисленными возможностями настройки параметров распознавания и предоставляемыми моделями для решения конкретных прикладных задач. Стоит отметить, что библиотека платная и предназначена для коммерческого использования.

    — Довольно простая настройка распознавания нужных шрифтов;

    — Распознавание текста в реальном времени;

    — Легкая и удобная настройка параметров распознавания;

    — Библиотека может распознавать штрихкоды и QR-коды;

    — Предоставляет готовые модули для решения разных задач.

    — Невысокая скорость распознавания;

    — Для получения удовлетворительных результатов требуется первоначальная настройка шрифтов для распознавания.

    В ходе проведенного анализа для решения наших задач была мы остановились на Google Text Recognition API, которая совмещает в себе высокую скорость работы, легкую настройку и высокие результаты распознавания.

    Разработанное нами решение позволяет сканировать бумажные документы, автоматически оцифровывать их и сохранять в единую базу данных. Качество распознаваемой информации составляет около 97%, что является очень хорошим результатом.

    За счет внедрения разработанной системы внутренний документооборот (включая обработку документов, их создание и обмен между отделами и др.) был ускорен на 15%.

    Ссылка на основную публикацию
    Adblock
    detector