Научете как правилно да разпознавате текст в изображение с tesseract и ocrfeeder.

Много от вас вече трябва да познават програмите за оптично разпознаване на символи (OCR), ако е така, попадали сте на някои, които не разпознават символи, типични за испанския език, като eñe, tílde наред с други (ñ, ó, ü).

Сега благодарение на тесеракт и към пакета тесеракт-ocr-spa Ще можем да разпознаем тези знаци и ще видим как да третираме определени изображения, при които нивата на цвета или пикселите не са правилни.

Първо трябва да инсталираме следните програми:

тесеракт-окр
тесеракт-ocr-spa
ocrfeeder

В Debian ви съветвам да ги инсталирате, без да инсталирате препоръчания софтуер:

sudo apt-get --no-install-recommends install ocrfeeder tesseract-ocr-spa tesseract-ocr

Ако имаме изображение (сканиран документ), в което писмото е четливо, ще бъде възможно разпознаването на текста в приблизително 90% от случаите, таблиците няма да бъдат разпознати, ако изображението има 2 колони, автоматично ще разпознае първо колона и след това другият да поддържа реда на текста.

Има 2 начина за разпознаване на текста, един чрез командния ред в терминал или чрез ocrfeeder, последният ще изисква повече време за обработка:

Метод на командния ред:

tesseract "/entrada/fichero.jpg" "/salida/fichero.txt" -l spa -psm 3

За преобразуването на множество изображения ще използваме следната команда:

cd /carpeta/imagenes
find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done

За да се присъединим към получените текстови файлове в споменатата папка, ще използваме следната команда, с която параграфите ще бъдат обединени правилно.

cd /carpeta/imagenes
find ./ -name "*.txt" | sort | while read file; do cat "$file" | sed 's|^$|##|g' | tr '\n' " " | tr '##' "\n" >> Texto-unido.txt; done

Метод с ocrfeeder:
1- Отваряме програмата ocrfeeder.
2- Редактираме двигателя, като щракнем върху Tools - OCR Engines, избираме esseract engine и щракваме върху edit, и където той казва аргументи на двигателя, променяме скрипта за този:

$IMAGE $FILE -l spa -psm 3 > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

3- Внасяме изображение или папка, където има няколко изображения.
4- Щракваме върху идентифициране на документа, след като документът бъде идентифициран, можете ръчно да изберете кои части от него ще бъдат изображения или текст.
5- Преди да експортираме документа, щракваме върху Редактиране - Редактиране на страница, ние избираме желаната страница, най-често срещаната е писмо (писмо).
6- За да експортираме документа, щракваме върху File - Export, избираме желания изходен формат, ако документът има изображения, съветвам ви да използвате odt или html формат, ако е само текст най-добре е да използвате формата Plain Text (txt) .

Това не свършва тук, защото има много фотокопия, чието качество не е адекватно, за да ги поправим, ще използваме GIMP и релефния филтър (Този процес може да бъде бавен):
1- Отваряме изображението с GIMP.
2- Щракваме върху Филтри - Изкривявания - Релефно избиране, избираме кутията с бум карта, настройваме нивата на азимут приблизително на 162,25, кота на 88,73 и дълбочина на 6 или 3. Записваме изображението със 100% качество ако е jpg, в export - name.jpg.

По желание можете да регулирате нивата на бялото, като щракнете върху Цветове - Нива - автоматично.