图片处理 - 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. 前端 - 用ionic开发的微信公众号,二维码图片长按时无法弹出“识别图中二维码”菜单2. android - 哪位大神知道java后台的api接口的对象传到前端后输入日期报错,是什么情况?求大神指点3. javascript - 微信小程序封装定位问题(封装异步并可能多次请求)4. java - 安卓接入微信登录,onCreate不会执行5. angular.js - 在ionic下,利用javascript导入百度地图,pc端可以显示,移动端无法显示6. 百度地图api - Android百度地图SDK,MapView上层按钮可见却不可触,怎么解决?7. node.js - 如何在vue模板中使用nodeJS?8. vue.js - vue 打包后 nginx 服务端API请求跨域问题无法解决。9. Python requests 如何获取第一次GET请求时 Request Headers 中的 Cookies?10. python - Win7调用flup报错’module’ object has no attribute ’fromfd’
