Лягушка

Лягушка

Как извлечь текст из изображений?

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

Есть ли для этого свободное и открытое программное обеспечение?

Я попробовал tesseract, и результаты были ужасными.

решение1

tesseract-ocrбудет лучшим по сравнению со всеми остальными. Для установки выполните следующую команду

sudo apt-get install tesseract-ocr

Использование tesseract filename.jpg output.txt, тогда будет сгенерирован output.txtфайл.

Вы можете рассмотреть возможность выбора соответствующего языка. В этом случае вам нужно будет установить tesseract-ocr-LANGпакет, где LANGнаходится трехбуквенныйКод языка ISO 639-2. Сейчас в репозитории 18.04 есть 123 языка.Тогда используйтенапример:

tesseract mySpanishText.jpg output -l spa

решение2

Процесс извлечения текста из изображений называется OCRи в Ubuntu есть вики-страница, посвященнаяОРС. С этой страницы:

Доступные инструменты OCR

Репозитории Ubuntu Universe содержат следующие инструменты OCR:

  1. gocr- Командная строка OCR
  2. fuzzyocr- плагин spamassassin для проверки прикрепленных изображений
  3. libhocr0- ОРС на иврите
  4. окрад- Программа оптического распознавания символов
  5. ocrfeeder- Система анализа макета документа и оптического распознавания символов
  6. окропус- система анализа документов и OCR
  7. тессеракт-ocr

Репозитории Ubuntu multiverse также содержат:

  1. клинопись- многоязычная система OCR

Некоторые пакеты устарели, но неофициальные свежие пакеты можно найти вAlex_P ППА(Код добавления PPA: ppa:alex-p/notesalexp). Если вы никогда не использовали PPA, проверьтекак добавить программное обеспечение из PPA.

редактировать: как показано в комментарииКлара OCRтоже существует, но у Hardy возникли проблемы, а на их сайте последнее обновление датировано 2009 годом.

решение3

Лягушка

ПытатьсяЛягушка. Frog — это интуитивно понятный инструмент извлечения текста (OCR) для GNOME.

Скриншот

Купите его в магазине Snap StoreСкачать на Flathub

решение4

Используя tesseract-ocrмы можем извлечьтекстотизображений. Я проверил, gocrчто не работает хорошо по сравнению сtesseract-ocr

Монтаж:

sudo apt-get install tesseract-ocr

Pythonпрограмма для конвертации всех файлов изображений сpngрасширение внутри текущего каталога натекстфайл

#!/usr/bin/env python3.10
import os
import subprocess

def list_files(path):
    files = []
    for name in os.listdir(path):
        if os.path.isfile(os.path.join(path, name)):
            files.append(os.path.join(path, name))
    return files

def convertImageToText(img_file):
    #process = subprocess.Popen(['tesseract', img_file,
    #    ''.join(img_file.rsplit('.png', 1))])
    os.system(f"tesseract {img_file} {''.join(img_file.rsplit('.png', 1))}")


def startOperation():
    list_file = list_files(".")
    print(list_file)
    for img_file in list_file:
        if img_file.lower().split(".")[-1] == "png":
            convertImageToText(img_file)

startOperation()

Связанный контент