问答类APP的辅助程序

1,464 阅读1分钟
原文链接: www.jianshu.com

最近问答类APP很火,例如冲顶大会 百万英雄 芝士超人
网上的各种搜题辅助程序也很多, 作为程序员,当然也凑波热闹自己搞了一个.

环境 Python3 + google OCR
其中图片的截取利用了macOS + iOS的配合
采用的大致原理是手机连上Mac,通过自带的QuickTime实时显示手机屏幕,具体做法

可以百度怎么用 Quick Time Player 为 iPhone 录制屏幕

这个搜题辅助其实可以用在任意答题类APP上,调整截图坐标是识别的关键


步骤如下

brew install tesseract
  • 下载中文语言识别包
  • 找到语言包chi_sim.traineddata
  • 下载下来后放到,这里是Mac上的路径
    /usr/local/Cellar/tesseract/3.05.01/share/tessdata/
  • 安装python依赖库
pip3 install -r requirements.txt
  • 自行修改代码中的屏幕截图区域Frame

#由于每个人屏幕尺寸不同需要自行修改截图Frame "x, y, w, h "
#冲顶大会截图坐标
cddh_ques_loca       = "70, 150, 310, 120"
cddh_answer_one_loca = "100, 275, 270, 35"
cddh_answer_two_loca = "100, 330, 270, 35"
cddh_answer_thr_loca = "100, 376, 270, 35"

  • 运行程序
python3 KnMoney.py

识别效果

  • OCR毕竟比不上接口直接拿数据,会存在一定误差,发现识别不准是可以自行调节图像处理参数
#处理图像
enh_con = ImageEnhance.Contrast(image)
#对比度,锐度,亮度
contrast = 2.0
sharpness = 5.0
brightness = 5.0
  • 这是截图后识别成文字的效果
image.png
  • 这是丢进百度搜索的效果
image.png

感谢

  • 部分代码出自TopSup

喜欢的话记得star哦 github