感恩节刚过不久。作为一个不善言辞的人,小编想用一份特殊的礼物感谢曾对我谆谆教诲和孜孜不倦付出的老师们。
犹记得年少顽劣的我,常被老师叫到办公室。每次去,都会看到办公桌上如小山般,等待批改的作业和试卷。可以想象,无数个万籁俱寂的深夜,老师依旧在灯下认真的批改作业。
随着年龄的增长,那些老师对我的教诲时常在耳边回响,想要找机会感谢老师的心也愈发强烈。
最近,小编跟着公司的技术大牛,仅用10分钟就学会了一种自动批改速算题的程序,十分好用,能大大提高老师批改作业的效率。这份特殊的礼物,希望老师也能够喜欢。
感恩不应该只停留在你的朋友圈,赶快学习起来,可以用实际行动,送给老师,表达自己的感谢吧。
这里选择使用android开发环境,执行流程很简单,如下图所示。
本示例支持拍照和本地图片选择两种模式,核心在于调用科大讯飞提供的“拍照速算识别”引擎,然后解析引擎,返回的结果进行绘图展示即可。
环境准备Android开发环境
本示例在Android 9环境下顺利执行,Android studio使用版本3.5.2,Android studio的安装和使用这里不做过多介绍。
“拍照速算识别”引擎环境
科大讯飞提供的“拍照速算识别”引擎服务需要进行授权认证,所以我们需要先在开放平台上申请一个appid以备使用,申请流程如下:
1.注册账号
登陆https://www.xfyun.cn/,点击右上角注册按钮按照提示流程完成注册。
2.创建应用
登陆成功后,点击右上角“控制台”进入控制台页面
点击创建新应用,填写应用的基本信息,点击提交即可创建应用成功。
3.获取授权
在控制台点击左侧“文字识别”-> "拍照速算识别",记录下APPID、APISecret、APIKey备用。
开发环节step 1 拍照并展示
调用相机的核心代码如下
不过这里有两个容易踩坑的点需要注意:
1.在7.0以上系统中,Android不再允许在app中把file://Uri暴露给其他app,所以不能直接通过file://访问文件,需要使用官方给出的解决方案FileProvider
2.需要提供相机和外部存储访问权限
step 2 访问文件
step 3 拍照速算识别引擎调用
在获取到小学速算题的图片后,就可以开始调用拍照速算识别引擎了,在调用业务接口时,都需要在 Http Request Body 中配置以下参数,请求数据均为json字符串。
但实际操作时不需要这么麻烦,官网(https://www.xfyun.cn/services/photo-calculate-recg)上提供了调用的示例代码,直接下载使用即可。
需要注意的是,示例代码中的星号部分需要替换为环境准备阶段申请的应用授权信息:
step 4 解析识别结果
引擎返回结果为一个json结构,包含字段如下:
识别结果信息在data字段里,其中主要包含了识别出来的每个速算题的位置信息、速算题的识别文本结果、速算题判决正误信息。
step 5 绘图并展示
对于计算正确的速算题使用绿色方框显示,对于计算错误的速算题使用红色方框显示。
step 6 效果展示
至此,开发过程完成,让我们来体验一下程序的执行效果:
(1) 点开主界面,这里为了方便展示,选择“相册”
(2) 选择一张事先拍好的小学速算题
(3) 展示自动批改后的效果图
倘若上面的大段文字已经让你看的头昏脑涨,通过此链接:http://m.aidaxue.com/course/courseDetail?id=420&pathname=/course/courseList&search=&ch=platform,观看教学视频,教会你分分钟实现速算题的自动批改。
点击下方链接,获取完整代码。注意,使用需要替换源码中APPID、APISecret、APIKey字段定义,获取方式见上文“环境准备”段落。
,