Мне понадобилось распознать русский текст книги в Linux. Для этого хорошо подошла связка Cuneiform с графическим интерфейсом Yagf, созданным русским программистом Андреем Боровским (благодарности Андрею!). Yagf может получать изображения со сканера через программу Xsane, интерфейс основан на Qt.
Cuneiform и Yagf собраны при помощи скриптов SlackBuilds.org.
Распознавание текста
Moderator: posixru
Re: Распознавание текста
Пробовал отсканировать украинский текст через OpenOCR (та же cuneiform) - результат был, мягко говоря, не очень. Вернее его вообще почти не было. Хотя, может быть, если попариться с настройками, что-то бы и получилось, но т.к. мне это нужно было срочно, пришлось просить знакомого сканировать через FineReader.
Re: Распознавание текста
Есть ещё: OCRFeeder – Python / GTK+ интерфейс к нескольким консольным OCR приложениям. Он автоматически определяет наличие инсталлированных в системе OCR приложений, а именно CuneiForm, GOCR, Ocrad, Tesseract и использует их в качестве "движка". Можно выбрать какой из движков лучше распознает тот или иной текст, позволяет очистить исходное изображение, а для распознания структуры документа применяется собственный алгоритм. Есть пакет на pkgs.orgAndyun wrote:Мне понадобилось распознать русский текст книги в Linux.
Re: Распознавание текста
OCRFeeder
Благодарю за подсказку!
Установив по указанной ссылке пакеты
Если на странице встречается алфавит русского и английского языков, то используйте параметр "-l ruseng", то есть
В качестве системы распознавания используется Cuneiform. Чтобы увидеть буквенные обозначения поддерживаемых языков, наберите в терминале
Для использования OCRfeeder с системой распознавания Tesseract (русский язык поддерживается с третей версии), строка "Engine arguments:" должна выглядить так:
---------------
Домашняя страница OCRfeeder: http://live.gnome.org/OCRFeeder.
Благодарю за подсказку!
Установив по указанной ссылке пакеты
- ocrfeeder-0.7.6-i686-1sl.txz
- unpaper-0.3-i486-3sl.txz
- pyenchant-1.6.5-i686-1sl.txz
- pygtkspell-2.25.3-i486-5sl.txz
- reportlab-2.5-i686-1sl.txz
- libgnome (для ocrfeeder-0.7.8 не нужно)
- pil
- linuxdoc-tools (не нужен для запуска, но необходим, если собирать пакет OCRfeeder самостоятельно)
Code: Select all
-l rus -f text -o $FILE $IMAGE > /dev/null 2> /dev/null && cat $FILE && rm $FILE
Code: Select all
-l ruseng -f text -o $FILE $IMAGE > /dev/null 2> /dev/null && cat $FILE && rm $FILE
Code: Select all
cuneiform -l
Code: Select all
-l rus $IMAGE $FILE > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt
Домашняя страница OCRfeeder: http://live.gnome.org/OCRFeeder.
Last edited by Andyun on 2. Oct 2012, 17:17, edited 2 times in total.
Re: Распознавание текста
Установка Tesseract
Пакеты:
Вот SLKBUILD для сборки пакета gImageReader:
Есть ещё один симпатичный мне графический интерфейс для Tesseract - OcrGui, но у него есть один большой недостаток - отсутствие выделения блоков с текстом - распознаётся только всё изображение целиком, а это снижает качество распознавания.
Зависимости для OcrGui:
Пакеты:
- Leptonica 1.68
- Tesseract 3.01 (этот пакет содержит все языки распознавания)
Вот SLKBUILD для сборки пакета gImageReader:
Code: Select all
pkgname=gimagereader
pkgver=0.9
pkgrel=111
source=("http://downloads.sourceforge.net/gimagereader/gimagereader-0.9.tar.gz")
docs=("readme" "install" "copying" "changelog" "authors" "news" "todo")
url=http://sourceforge.net/projects/gimagereader/
slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"gimagereader (GUI for Tesseract-ocr)"
"gImageReader is a simple PyGtk front-end to tesseract-ocr"
""
"Homepage: http://sourceforge.net/projects/gimagereader/"
)
build() {
cd $startdir/src/$pkgname-$pkgver
./setup.py install --prefix=/usr --root=$startdir/pkg
sed -i "s/^Categories=.*/Categories=Application;Office;/" $startdir/pkg/usr/share/applications/gimagereader.desktop
}
Зависимости для OcrGui:
- imagemagick
Last edited by Andyun on 10. Jun 2012, 09:30, edited 6 times in total.
Re: Распознавание текста
Я ещё с прошлого года её пользую, хоть не часто, но иногда нужна... В картинках можно посмотреть её ТУТ (цикл тем по OCR софинам попутно сделал).Andyun wrote:Попробовать gImageReader можно даже не устанавливая в систему - достаточно
Сравнивал распознавание с abbyy-finereader"овым, результат на одном изображении аналогичный.
Есть ещё такая штучка: Owlboxer - небольшая Qt графическая утилита дающая возможность быстрого редактирования обучающих файлов Tesseract (tesseract box files).
Re: Распознавание текста
Это так, если изображение хорошего качества (разрешения, контраста и др.), а если оно недостаточно качественное, то FineReader v.10 заметно выигрывает, особенно это относится к распознаванию всей страницы целиком (без ручного выделения блоками). Пример для тестирования здесь.posixru wrote: Сравнивал распознавание с abbyy-finereader"овым, результат на одном изображении аналогичный.
Вообще, секрет лучшего распознавания FineReader'ом заключается в автоматической предварительной обработке изображений и автовыделении блоками (пример: размер исходных 92-х jpg-файлов составляет 76 Мбайт, размер же сохранённого проекта с этими файлами у FineReader'а составлял более 2 Гбайт). Если самостоятельно увеличить разрешение у страниц невысокого качества и улучшить контрастность, а также вручную выделять текст блоками, то Tesseract и CuneiForm действительно не будут уступать коммерческим аналогам.
Last edited by Andyun on 5. Apr 2012, 12:31, edited 4 times in total.
Re: Распознавание текста
Да мне без разницы, мне спешить некуда, я изо могу пропереобработать, а уж потом сувать в распознавалку... Обычно в gThumb"е, но можно в GIMP"е или Phatch"е если много и потом уже... Примерно вот так (если в два клика):Andyun wrote:а если оно недостаточно качественное, то FineReader v.10 заметно выигрывает.
Re: Распознавание текста
Перед распознаванием, или даже вместо него, изображения можно обработать и создать качественную электронную копию документа (книги) в формате DjVu. Подробности в отдельной теме.