web-dev-qa-db-fra.com

Tesseract OCR multiples options de configuration

J'ai des problèmes avec pytesseract. Je dois configurer Tesseract pour qu’il soit configuré pour accepter des chiffres uniques tout en pouvant accepter uniquement des nombres, car le nombre zéro est souvent confondu avec un «O».

Comme ça:

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

Merci beaucoup,

Niall

10
Niall Oswald

tesseract-4.0.0a prend en charge ci-dessous psm. Si vous souhaitez une reconnaissance de caractère unique, définissez psm = 10. Et si votre texte ne contient que des chiffres, vous pouvez définir 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.

Voici un exemple d'utilisation de image_to_string avec plusieurs paramètres.

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

J'espère que cela t'aides.

28
thewaywewere

La raison pour laquelle vous rencontrez des problèmes est que la restriction de caractères ne fonctionne pas dans la version 4.0. Vous devez forcer le mode hérité (oem 0) pour limiter les caractères trouvés. Il y a un bug quelque part dans l’équipe de tesseract qu’ils n’ont pas encore abordée. 

0
RALPH BURLESON