Pytesseract OCR opciones de configuración múltiple

Estoy teniendo algunos problemas con pytesseract. Necesito configurar Tesseract para que esté configurado para aceptar dígitos únicos y también poder aceptar números, ya que el número cero se confunde a menudo con una ‘O’.

Me gusta esto:

target = pytesseract.image_to_string(im,config='-psm 7',config='outputbase digits') 

Muchas gracias,

Niall

tesseract-4.0.0a soporta por debajo de psm . Si desea tener reconocimiento de un solo carácter, configure psm = 10 . Y si su texto consiste solo en números, puede establecer tessedit_char_whitelist=0123456789 .

 Page segmentation modes: 0 Orientation and script detection (OSD) only. 1 Automatic page segmentation with OSD. 2 Automatic page segmentation, but no OSD, or OCR. 3 Fully automatic page segmentation, but no OSD. (Default) 4 Assume a single column of text of variable sizes. 5 Assume a single uniform block of vertically aligned text. 6 Assume a single uniform block of text. 7 Treat the image as a single text line. 8 Treat the image as a single word. 9 Treat the image as a single word in a circle. 10 Treat the image as a single character. 11 Sparse text. Find as much text as possible in no particular order. 12 Sparse text with OSD. 13 Raw line. Treat the image as a single text line, bypassing hacks that are Tesseract-specific. 

Aquí hay un ejemplo de uso de image_to_string con múltiples parámetros.

 target = pytesseract.image_to_string(image, lang='eng', boxes=False, \ config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789') 

Espero que esto ayude.

La razón por la que tiene problemas es porque la restricción de caracteres no funciona en la versión 4.0. Tienes que forzar el modo heredado (OEM 0) para que limite los caracteres encontrados. Hay un error en algún lugar del equipo de tesseract que aún no se ha solucionado.