Есть ли способ выделить текст из отсканированного документа? (вывод - jpg) Какие инструменты предлагает Ubuntu для выполнения такой задачи? Есть ли какие-нибудь библиотеки, которые я могу использовать вместо готовых двоичных файлов программного обеспечения, чтобы сделать то же самое? Я попытался преобразовать его в .pdf с помощью Imagemagick, а затем попытался выделить текст, который явно не работал.
Название этого типа процедур: OCR (Оптическое распознавание символов). Эта ссылка также предлагает несколько вариантов:
gocr - A command line OCR fuzzyocr - spamassassin plugin to check image attachments libhocr0 - Hebrew OCR ocrad - Optical Character Recognition program ocrfeeder - Document layout analysis and optical character recognition system ocropus - document analysis and OCR system tesseract-ocr cuneiform - multi-language OCR system
И это говорит о том, что Tesseract ( очень старый учебник ) является лучшим вариантом из них. Так что попробуйте.
Пакет Tesseract-ocr является командной строкой. Если вам нужна программа с графическим интерфейсом, я использую «gscan2pdf», и вы можете найти ее в Центре программного обеспечения Ubuntu.
В gscan2pdf все, что вам нужно сделать, это нажать на маленький значок сканирования в верхней части. Я думаю, что это дает вам два или три варианта, GOCR, что не очень хорошо, и Tesseract, который работает превосходно. Выберите Tesseract, и с этого момента вам нужно нажать на соответствующую вкладку, чтобы найти настройки разрешения. Ваша лучшая ставка - 300 или даже 600, и Тессеракт преуспеет.
Плохо отсканированные, кривые или старые документы плохо конвертируются. Удачи!
PS .. Я продолжаю читать, что Тессеракт может читать только изображения в формате TIFF. Это не тот случай для меня. Я также могу импортировать JPG или PNG.
PPS ... извините за правки! Вы можете попробовать OCRFeeder в центре программного обеспечения тоже. Я все еще должен попробовать это.
Некоторое время назад оценил различные пакеты 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 Предварительная обработка изображений с помощью GIMP (преобразование в B & amp; W с использованием инструмента Threshold), похоже, очень помогла.
Я надеюсь, что ситуация улучшилась с тех пор. Я недавно видел название OCR Feeder в блогах, попробую.
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 & amp; W с использованием инструмента Threshold), похоже, очень помогла.
Я надеюсь, что ситуация улучшилась с тех пор. Я недавно видел название OCR Feeder в блогах, попробую.
Я нашел это, оно называется Tesseract OCR, надеюсь, оно вам пригодится.
У меня Linux Mint 17.2 x32 Cinnamon. Возможно, эти шаги будут работать и в Ubuntu 14.04 x32.
Использование Tesseract
ВАРИАНТ 1 - через терминал командной строки, затем перейдите в папку, где Вы сохраняете файлы изображений (jpg, png) и запускаете команду:
a) для преобразования всех файлов изображений в текст
for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" text; done
Чтобы объединить весь текст файлы в один, выполните команду cat *.txt >> all.txt
b) для преобразования всех файлов изображений в файлы 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
b) Второе приложение - VietOCR. Фактическая версия 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-файлы, массовое преобразование также является опцией.