Витяг тексту з відсканованого документа


10

Чи є спосіб вибрати текст із відсканованого документа? (висновок jpg) Які інструменти пропонує Ubuntu для виконання такого завдання? Чи є якісь бібліотеки, які я можу використовувати замість попередньо складених програмних бінарних файлів, щоб зробити те саме? Я спробував перетворити його у .pdf за допомогою Imagemagick, а потім спробував вибрати текст, який, очевидно, не спрацював.

Відповіді:


9

Назва цього типу процедури - OCR (оптичне розпізнавання символів). Це посилання також пропонує декілька варіантів:

gocr - командний рядок OCR
fuzzyocr - плагін spamassassin для перевірки вкладених зображень
libhocr0 - іврит OCR
ocrad - програма оптичного розпізнавання символів
ocrfeeder - Аналіз макета документа та система оптичного розпізнавання символів
ocropus - аналіз документів та система OCR
tesseract-ocr
клинопис - багатомовна система OCR 

І це говорить про те, що Тессеракт ( дуже старий підручник ) є кращим варіантом. Тож спробуйте.


3

Нещодавно, оцінивши різні пакети OCR в Ubuntu, виявив, що Tesseract є найменш поганим з них (але досить погано), і написав обгортковий сценарій для OCRing (оскільки Tesseract бажає незрозумілих форматів введення, таких як TIFF). Ось моє ~/bin/ocr:

#!/bin/sh
# usage: ocr filename.jpg
if test -z "$1"; then
    echo "usage: ocr filename.jpg [...]"
    echo "needs imagemagick and tesseract-ocr"
    echo "if tesseract fails, check if you've got tesseract-ocr-eng installed"
fi
tmpdir="$(mktemp -d)"
for fn in "$@"; do
  convert "$fn" "$tmpdir/page.tif"
  tesseract "$tmpdir/page.tif" "$tmpdir/page" 2>&1 | grep -v '^Tesseract Open Source OCR Engine$'
  cat "$tmpdir/page.txt"
  cp -i "$tmpdir/page.txt" "${fn%.jpg}.txt"
  rm "$tmpdir/page.tif" "$tmpdir/page.txt"
done
rm -r "$tmpdir"

Попередня обробка зображень за допомогою GIMP (перетворення на B&W за допомогою інструменту "Поріг"), здавалося, дуже допомогла.

Я сподіваюся, що справи покращилися відтоді. Нещодавно я бачив ім'я OCR Feeder у публікаціях блогу, я б спробував.


2

Пакет Tesseract-ocr є командним рядком. Якщо ви хочете програму з графічним інтерфейсом, я використовую "gscan2pdf", і ви можете знайти її в програмному центрі Ubuntu.

У gscan2pdf все, що вам потрібно зробити, - це натиснути маленьку піктограму сканування вгорі. Я думаю, що це дає два-три варіанти, GOCR, який не дуже хороший, і Tesseract, який працює чудово. Виберіть Tesseract і з цього моменту вам потрібно натиснути відповідну вкладку, щоб ви могли знайти налаштування роздільної здатності. Ваша найкраща ставка - 300 і навіть 600, і Tesseract буде добре.

Погано відскановані, криві чи старі документи не конвертуються добре. Удачі!

PS .. Я постійно читаю, що Tesseract може читати лише зображення TIFF. Це не так для мене. Я також можу імпортувати JPG або PNG.

PPS ... вибачте за правки! Ви можете спробувати OCRFeeder і в програмному центрі. Я все ще повинен спробувати це.



0

У мене є Linux Mint 17,2 x32 Кориця. Можливо, ці кроки також працюватимуть і в Ubuntu 14.04 x32.

  1. Встановіть Tesseract OCR sudo apt-get install -y tesseract-ocr tesseract-ocr-eng Ви можете додати інші мови, встановивши додаткові пакети. Цей скріншот зроблений із синаптичних: мовних пакетів Tesseract в Synaptic

Використання Tesseract

ВАРІАНТ 1 - відкрийте термінал командного рядка, потім перейдіть до папки, де ви зберігаєте файли зображень (jpg, png) та запустіть команду:

а) конвертувати всі файли зображень у текст

for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" text; done

Щоб об'єднати всі текстові файли в один, запустіть команду cat *.txt >> all.txt

б) конвертувати всі файли зображень у файли hocr (відкрити за допомогою Firefox)

for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" hocr; done

ВАРІАНТ 2 - від GUI

a) Встановіть gImageReader і використовуйте його

sudo add-apt-repository -y ppa:sandromani/gimagereader
sudo apt-get update
sudo apt-get install -y gimagereader

б) Друге застосування - В'єтократ. Фактична версія 4.0, тому завантажте VietOCR-4.0.zip

Розпакуйте файли та відкрийте VietOCR.jar Java:

Відкрийте VietOCR через Java Якщо у вас немає встановленої Java, ви можете встановити її з сховища або Ви можете встановити офіційний Oracle Java 8. Етапи встановлення Oracle Java 8 в Ubuntu 14.04

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

Я рекомендую VietOCR, тому що він дозволяє вам OCR pdf-файли, опціональне перетворення також є варіантом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.