Tesseract OCR多配置选项

问题描述 投票:15回答:2

我有pytesseract的一些问题。我需要将Tesseract配置为配置为接受单个数字,同时也只能接受数字,因为数字零通常与“O”混淆。

像这样:

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

非常感谢,

尼尔

python ocr tesseract
2个回答
39
投票

tesseract-4.0.0a支持psm。如果要进行单字符识别,请设置psm = 10。如果您的文本仅包含数字,则可以设置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.

以下是具有多个参数的image_to_string的示例用法。

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

希望这可以帮助。


3
投票

您遇到问题的原因是因为版本4.0中的字符限制不起作用。您必须强制传统模式(oem 0)才能限制找到的字符。在tesseract团队的某个地方有一个他们尚未解决的问题。

© www.soinside.com 2019 - 2024. All rights reserved.