2011-02-22 24 views
26

al intentar ejecutar este comando:Tesseract y el formato tiff - spp no ​​en conjunto {1,3}

tesseract bond111.tif bond111 batch.nochop makebox 

me sale el siguiente error

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

Suponiendo que spp not in set es el principal error aquí, ¿qué significa? Al principio tuve problemas porque el bpp era más alto que 24, así que lo reduje usando Gimp, pero eso no resolvió el problema.

+2

No veo ninguna razón para cerrar esta pregunta. El OP proporciona un comando de software explícito que probaron y los detalles sobre el error que recibieron. Tesseract es una etiqueta relativamente activa en SO y esto es bastante relevante. Muchas personas (incluyéndome a mí) continúan encontrando útil esta página. Trabajar con Tesseract no es lo mismo que una pitón similar a lang, por lo que las preguntas se verán un poco diferentes. Pero si Tesseract es aceptado como una etiqueta en SO entonces no veo ninguna razón por la cual esta pregunta no debería ser permitida. –

Respuesta

31

probablemente significa que su imagen TIFF tiene un canal alfa y por lo tanto la biblioteca Leptonica subyacente utilizado por Tesseract no lo soporta. Si está utilizando Imagemagick, tenga en cuenta que las operaciones como -draw pueden provocar que se agreguen canales alfa. Si está utilizando convert en su flujo de trabajo y desea quitar el canal de nuevo inmediatamente, aplanar la imagen antes de grabar mediante la adición de -background white -flatten +matte antes de que el archivo de salida, por ejemplo:

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

Tesseract (bueno, Leptonica) acepta estos días PNG y es menos exigente con ellos, por lo que podría ser más fácil migrar su flujo de trabajo a PNG de todos modos.

Fuentes: magick-users mailing list posting; tesseract-ocr mailing list posting

+0

Interesante. Esta solución funciona para mí, pero solo genera la última página del pdf de entrada que tengo. – mlissner

+4

Parece que el comando -flatten lo reduce a una sola página. Eliminar eso lo solucionó todo para mí. – mlissner

+6

Tenga en cuenta que '+ mate 'está en desuso según los documentos. Use '-alpha Off' en su lugar. – fotNelton

3

Puede intentar usar el comando 'tiffinfo' proporcionado por libtiff_tools para verificar el formato TIFF de su imagen src. Existe una cantidad de formatos TIFF, con diferentes valores para Bits-per-pixel (bpp) y Samples-per-pixel (spp).

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

Un valor 'spp' de 2 no es válido para TIFF.

Resolví el problema al guardar directamente en formato TIFF desde Gimp, en lugar de convertir de .png a .tif utilizando 'convertir' de ImageMagick.

Consulte también: TIFF format

13

Gracias por su publicación ZakW, me indicó la dirección correcta. De todos modos, también tuve que configurar '-depth 8'. La calidad no era lo suficientemente buena para OCR, lo que sea que intenté.

lo que funcionó para mí es esta solución:

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

De esta manera llegué texto perfecto con diéresis en alemán. Espero que esto ayude a alguien. se refiere a Florian.

Cuestiones relacionadas