Pytesseract / 识别字符 + 数字 + 空格
我想用下面的代码从一张图片中识别一些文本(包括数字和空格):
erg = pytesseract.image_to_string(img)
一般来说,这样做是没问题的,但我也得到了我不想要的字符,比如Ô。
ÔAU OPTRONICS CORPORATION
() Preliminary Specification
(V) Final Specification
Module 18.5" Color TFT-LCD
Model Name (G18SHANOT.O
Customer Date ÔApproved by Date
Crystal Hsieh 2016/06/29
Approved by Propared by
所以我尝试用下面的代码来设置白名单,给tesseract指定允许的字符:
workString =f'-c tessedit\_char\_whitelist={string.digits}(){string.ascii\_letters}'
erg = pytesseract.image\_to\_string(img, config=workString)
这样我得到的文本是这样的——看起来Ô没有被输出了,但不幸的是,空格都没有了:
AUOPTRONICSCORPORATION
()ProliminarySpecification
(V)FinalSpecification
Module 185ColorTFTLCD
ModelName (G18SHANOTO
Customer Date Approvedby Date
CrstalHsieh 2016(06)29
Approvedby Proparedby
有没有办法既能设置允许的字符和数字,又能保留空格呢?
1 个回答
1
config = f"-c tessedit_char_whitelist='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.#-:/ '"
试试这个。我在遇到类似问题时,在内层引号里加了一个空格,这个方法对我有效(空格是字符串中的最后一个字符)。你可以随意添加或删除任何字符,让tesseract包含或排除。