Подтвердить что ты не робот

Формат Tesseract и tiff - spp не в наборе {1,3}

При попытке выполнить эту команду:

tesseract bond111.tif bond111 batch.nochop makebox

Я получаю следующую ошибку

Error in pixReadFromTiffStream: spp not in set {1,3}
Error in pixReadStreamTiff: pix not read
Error in pixReadTiff: pix not read

Предполагая, что spp not in set является основной ошибкой здесь, что это значит?  Сначала у него были проблемы, потому что bpp был выше 24, поэтому я уменьшил его с помощью Gimp, но это не решило проблему.

4b9b3361

Ответ 1

Вероятно, ваш образ TIFF имеет альфа-канал, поэтому базовая библиотека Leptonica, используемая Tesseract, не поддерживает его. Если вы используете Imagemagick, имейте в виду, что такие операции, как -draw, могут привести к добавлению альфа-каналов. Если вы используете convert в своем рабочем процессе и хотите удалить канал снова сразу, сгладьте изображение перед записью, добавив -background white -flatten +matte до имени выходного файла, например:

convert input.tiff -fill white -draw 'rectangle 10,10 20,20' -background white -flatten +matte output.tiff

Tesseract (ну, Leptonica) принимает PNG в эти дни и менее разборчив, поэтому может быть проще переносить ваш рабочий процесс на PNG в любом случае.

Источники: magick-users рассылка списка рассылки; tesseract-ocr рассылка списка рассылки

Ответ 2

Спасибо за ваш пост ZakW, вы указали мне правильное направление. Во всяком случае мне также нужно было установить "-depth 8". Качество было недостаточно хорошим для распознавания текста, что бы я ни пытался.

Что сработало для меня это решение:

ghostscript -o document.tiff -sDEVICE=tiffgray -r720x720 -g6120x7920 -sCompression=lzw document.pdf
tesseract document.tiff document -l deu
vim document.txt

Таким образом, я получил идеальный текст с умлаутами на немецком языке.

Ответ 3

Вы можете попробовать использовать команду tiffinfo, предоставленную libtiff_tools, чтобы проверить формат TIFF вашего изображения src. Существует несколько форматов TIFF с разными значениями для битов на пиксель (bpp) и Sample-per-pixel (spp).

Error in pixReadFromTiffStream: spp not in set {1,3,4}

Значение "spp" 2 недопустимо для TIFF.

Я решил проблему, сохранив непосредственно формат TIFF от Gimp, вместо того, чтобы конвертировать из .png в .tif с помощью ImageMagick 'convert'.

Смотрите также: Формат TIFF

Ответ 4

Настройка преобразования в следующую строку мне помогла.

convert -density 300 input.pdf -depth 8 -background white -alpha Off output.tiff

Обратите внимание, что другие ответы не сработали для меня, так как они используют устаревший флаг +matte вместо -alpha Off.