Tesseract似乎更喜欢在其读取的每个“单词”中保持字符类型的一致性。
使用pytesseract
的示例:
tsr.image_to_string(skimage.io.imread('<image file path>'))
# '750 GONZALEZ DR APT 65\nSAN FRANCISCO.CA 94512'
tsr.image_to_string(skimage.io.imread('<image file path>', lang='ArialBold'))
# '750 GONZALEZ DR APT SB\nSAN FRANCISCO.CA 94512'
╭───╥────────────┬─────────────╮
│ ║ Interpreted│ Font │
╞═══╬════════════╪═════════════╡
│6B ║ 65 │ None │
│6B ║ SB │ ArialBold │
└───╨────────────┴─────────────┘
很明显,“ B”不是“ 5”,而“ 6”不是“ S”。它也将字符类型组合为我正在处理的其他地址。因此,似乎tesseract在解释单词时喜欢保持字符类型统一。有没有办法告诉tesseract 不为每个单词选择同质字符类型?显然,tesseract并不总是将单词解释为具有统一的字符类型。但是在弄乱我的地址时,似乎有一种我想关闭的偏好。