圖片處理 - python PIL 圖片放大的問題
問題描述
嘗試用pytesseract來識別一些圖片:
原始圖片尺寸較小,用pytesseract無法識別,開始嘗試用 Mac 自帶的預覽工具來放大尺寸 ,發現可以正常識別了,然后嘗試用 PIL 來放大圖片,代碼如下:
images.resize((1985, 336),Image.ANTIALIAS).save(’/images’, quality=95,dpi=(72, 72))
問題是,通過 PIL 放大的圖片不能被pytesseract 正常識別,我對比了兩張圖片的信息,如下圖:
發現除了圖片尺寸不同外,其他信息都是相同的,但是就是無法被pytesseract正常識別,所以求教如何用 PIL 放大出可以正常被pytesseract識別的圖片(其他工具也可以)
問題解答
回答1:你可以嘗試改變tesseract的-psm參數:
image = Image.open(’ocr.png’)image.show()for p in range(4,14): print(p, ’-’, pytesseract.image_to_string(image, config='-psm {}'.format(p)))
輸出如下:
4 - 3 4’1 4’1 I] I]5 - DDd.d._...I._6 - 3 4’1 4’1 I] I]7 - 3 4’1 4’1 I] I]8 - 344009 - 3440010 - W11 - 3£1I1I]I]12 - 13 - 34400
如果圖片只有數字你也能嘗試用tessedit_char_whitelist:
pytesseract.image_to_string(image, config='-psm 8 -c tessedit_char_whitelist=1234567890')
相關文章:
1. android - webview 自定義加載進度條2. 為什么我ping不通我的docker容器呢???3. javascript - 微信小程序限制加載個數4. linux - openSUSE 上,如何使用 QQ?5. mysql - 怎么讓 SELECT 1+null 等于 16. python 怎樣用pickle保存類的實例?7. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯8. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?9. linux - 升級到Python3.6后GDB無法正常運行?10. Python中, 仿照經典代碼實現單例, 卻出現了不是單例的的狀態, 代碼哪里出錯了 ?
