前几天,人民日报公众号报道了复旦博士生自己写代码,通过OCR和正则表达式统计核酸截图结果。具体文章见:https://mp.weixin.qq.com/s/l8u9JifKDlRDoz32-jZWQg
行外人看热闹,行内人都知道很容易实现的,这里就只说在Mac上如何用Python来实现图片内容识别,以及文字提取功能
准备工作
- 安装Python3运行环境,安装pycharm开发工具
安装包
第一步:安装tesseract (这里都是在Mac操作系统上进行的)
brew install tesseract
第二步:安装pytesseract
pip install pytesseract
第三步:安装语言包
打开https://github.com/tesseract-ocr/tessdata,下载需要的语言包,需要中文简体就下载chi_sim.traineddata
,然后将下载好的语言包放到/usr/local/Cellar/tesseract/4.1.1/share/tessdata
(版本号以实际安装为准,这里我安装的版本是4.1.1)
开发
在pycharm上新建一个py文件,输入示例代码:
import pytesseract as ts
import re
img_fn = '/Users/yuyunlong/Pictures/博客/文字.png'
lang = 'chi_sim'
text = ts.image_to_string(img_fn,lang)
print(text)
#正则表达式提取需要的信息
print(re.findall(r"姓 名 (.*)", text))
print(re.findall(r"公 众 号 (.*)", text))
print(re.findall(r"检 测 结 果 (.*)", text))
贴一下我用的图片
最后再看一下运行的结果:
操作很是简单,看到这,我不禁感慨,还有多少重复性的工作可以自动化处理呢