好久没更新了,但是没更新的这段时间也是写了挺多代码的,最近有空了把这段时间用到的新技术分享一下。这次要分享的是怎么使用 Python 的 EasyOCR 进行图片识别!众所周知很多自动化情景下我们都需要使用到 OCR 技术,比如游戏脚本,扫描文档,提取文字等等, EasyOCR 能帮我们用极少的代码完成文字识别!
安装
我们可以使用以下指令安装 EasyOCR
pip install easyocr
使用
我们在一开始需要先创建 reader
,这里我们要传入我们要检测的语言,这里的语言可以传入列表从而可以实现多语言支持,同时我们也可以设置是否需要输出日志,是否需要使用 GPU。
提示:个人实测的时候如果文字比较少的话 CPU 运行速度也够用
import easyocr
reader = easyocr.Reader(['ch_sim','en'], verbose=False, gpu=False)
在创建完 reader
之后我们可以使用 gettext
函数来进行文字识别:
from PIL import Image
image = Image.open("example.png")
result = reader.gettext(image)
print(result)
这里我们一般都是使用 PIL 来打开我们要检测的图片,官方文档里面好像也可以直接传入图片名称。在传入图片之后我们使用 gettext
函数来获取文字内容,具体 result
返回如下格式的内容:
[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
([[517, 81], [565, 81], [565, 123], [517, 123]], '东', 0.9989598989486694),
([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631)]
这里的格式其实就是 [(文字区域的四个角的坐标, 具体文字, 置信度), ...]
,一般来说置信度在 80 以上就可以大致判断是什么文字了。
最后我们只需要配合我们具体的应用就可以了,不过需要注意的是 EasyOCR 因为是基于机器学习的,如果 CPU 很差还没有 GPU 的话可能运行的速度会很慢,这种情况如果是要对实时画面进行 OCR 的话会有延迟,从而导致结果不精确!
版权属于:我是苏云曦吖
本文链接:https://www.yuisblog.com/archives/290/
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!