Тессеракт и TIFF формат - spp не в наборе {1,3} - PullRequest
38 голосов
/ 22 февраля 2011

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

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, но это не решило проблему.

Ответы [ 4 ]

44 голосов
/ 18 апреля 2012

Это, вероятно, означает, что ваше изображение в формате 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 отправка списка рассылки

17 голосов
/ 01 июня 2012

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

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

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

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

4 голосов
/ 19 февраля 2012

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

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

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

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

См. Также: формат TIFF

3 голосов
/ 17 декабря 2018

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

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

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

...