Python 有什么无脑 OCR 库能搞掂下面这种图片么?

2019-01-23 22:18:56 +08:00
 codelover2016

基本没有噪点的图片,很纯净的数字.

3640 次点击
所在节点    Python
20 条回复
zzj0311
2019-01-23 22:37:16 +08:00
那么规整 mask 套不就完了。。
nicevar
2019-01-23 22:38:40 +08:00
直接调用 tesseract 就行了,或者用百度的 ocr 也行,这种简单的数字一天能有 5w 次免费额度
lsvih
2019-01-23 22:38:42 +08:00
tesseract
xiumie
2019-01-23 23:05:28 +08:00
tesseract py
codelover2016
2019-01-23 23:19:25 +08:00
@nicevar @xiumie @lsvih tesseract 我试过,没出来...
好惨.
codelover2016
2019-01-23 23:19:40 +08:00
@zzj0311 mask 是哪个库?
Geno1024
2019-01-23 23:41:51 +08:00
😐直接打字符像素点的匹配不就是了……
Vegetable
2019-01-23 23:50:03 +08:00
@codelover2016 这个绝对 tesseract 绝对可以的,甚至不需要训练。
注意一下参数,纯数字,单行,英语。具体参数不记得了。
nicevar
2019-01-23 23:58:24 +08:00
@codelover2016 这种纯数字太简单了,你需要 tessdata,python 用 pytesseract 库就行了
tomczhen
2019-01-24 00:09:34 +08:00
这种程度的 tesseract 绝对可以了,之前弄着玩了一下,比这个复杂多了的也有 70%的正确率。
ioven
2019-01-24 09:48:14 +08:00
百度、腾讯、搜狗的 ocr 都能识别
liberize
2019-01-24 10:01:24 +08:00
tesseract 参数你没设对吧,这种 100%识别率吧
linap
2019-01-24 13:41:04 +08:00
分割成相同宽度,取 5 个特征点,搞定
locoz
2019-01-24 23:01:42 +08:00
这种简单的纯数字可以切片好直接对比像素点,比 OCR 的效率还高
codelover2016
2019-01-25 23:55:07 +08:00
@liberize 能不能伸手党要个代码...
codelover2016
2019-01-25 23:55:19 +08:00
@locoz 这个非常有道理...
liberize
2019-01-26 11:46:36 +08:00
@codelover2016

$ cat test.py

import pytesseract
from PIL import Image

img = Image.open('test.jpg')
print pytesseract.image_to_string(img, lang='eng', config='-psm 6 digits')


$ cat digits

tessedit_char_whitelist 0123456789
debug_file /dev/null

$ python test.py
659208134

digits 文件放到 .py 相同目录(也许可以写到代码里,自己研究吧)
liberize
2019-01-26 11:48:42 +08:00
额,少复制了一个 7,实际结果是对的,你自己试试把
liberize
2019-01-26 11:49:19 +08:00
模板匹配也可以,代码稍微多点,自己写吧
Nick2VIPUser
2019-01-26 18:48:38 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX