前面说了需求,现在着手就干。之前犯过着手需求之后先考虑大框架的事情,结果想来想去太麻烦就搁浅了,这次直接干最核心的部分,图像中的文字识别。
初步想法是使用Python去做图像中的OCR识别,识别出表情包中的文字然后作为后续查询的关键字。
查了一些资料,基本都是使用tesseract+python实现,那我们先安装tesseract。因为我是用的是macOS,所以这里简单说下如何安装tesseract。Windows环境有exe安装文件,我就不多说了。
步骤
- 打开terminal,用homebrew安装tesseract库
brew install tesseract
。没有brew的,用下面的命令安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安装python上的tesseract包
pip install pytesseract
- 在tesseract-ocr下载中文数据集
chi_sim.traineddata
,放到/usr/local/Cellar/tesseract/[版本号]/share/tessdata
下 -
准备一张图片,我直接在本地截了一张图放在了桌面:
- 打开terminal,在桌面上,输入
vim orc.py
,按i
插入如下代码:
#!/usr/bin/env python
import pytesseract
from PIL import Image
# open image
image = Image.open('test.png')
code = pytesseract.image_to_string(image, lang='chi_sim')
print(code)
- 按下
esc
,输入wq
保存,然后在terminal上执行如下命令:
chmod +x ocr.py
./ocr.py
可以看到控制台上输出了“百度一下”的样子,我们的第一个最简单的demo实现了!
后续
当前只能识别中文,而且是非常标准的中文,后续中图片中的文字情况可能非常复杂,还需要大量的验证。任重道远,还需虚心学习,切勿浮于表面。不过这次实验证实了这个方案是可行的。: )