mathAI

基于 Python 的拍照做题程序
授权协议 MIT
开发语言 Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 裴兴学
操作系统 跨平台
开源组织
适用人群 未知
 软件概览
mathAI 是一个拍照做题程序。输入一张包含数学计算题的图片,输出识别出的数学计算式以及计算结果。整个程序使用 Python 实现,具体处理流程包括了图像预处理、字符识别、数学公式识别、数学公式语义理解、结果输出。
 
目前上传的版本只能处理简单的一维加减乘除算术表达式(如果想要识别更加复杂的表达式,可以参考数学公式识别的论文)。可以参考的代码是前面字符识别部分以及整个算法处理框架。

本程序使用 opencv 对输入的图像进行预处理,并将字符裁剪出来再归一化成固定大小的矩阵。对于数学公式的识别,主要是将识别出的独立的字符组织成计算机能够 理解的数学公式(这里的数学公式就是纯字符的可求解的数学计算题)。大概的方法是使用编译原理的算符优先法和递归下降法进行实现。 然后根据属性文法的值传递思想,将数学公式的值计算出来。最后使用 python 的 matlibplot 库把计算过程和答案打印出来。

优点:这是一整套拍照做题的算法框架,同时能够处理多种多样的计算题。OCR 技术如此成熟的今天字符识别已经不算有挑战的东西了。

缺点:字符空间关系判断只用了人类启发式规则,图像预处理不够鲁棒,数学公式的结构识别算法不够完美(可以考虑使用二维文法来做)。 系统还有很大的提升空间。

 
 相关资料
  • 本文向大家介绍Android 拍照,包括了Android 拍照的使用技巧和注意事项,需要的朋友参考一下 示例 向AndroidManifest文件添加访问摄像头的权限: Xml文件: 活动            

  • 可使用前端相机或背面相机拍摄照片。 A ) (显示模式) 轻触图标可切换为显示模式。 B ) (位置数据)/(切换相机)/(切换图像大小) 启用位置数据的使用设定即可显示(位置数据)。轻触图标可使用Wi-Fi、GPS*、手机基地台*的信息取得位置数据。取得后会显示(已取得位置数据),拍摄照片时会同时记录位置数据。 * 仅限3G/Wi-Fi机种 C ) (快门) 轻触图标可拍摄照片。 D ) 已拍摄

  • 使用自带的ImagePicker获取照片和录像,并能够根据需要调节录像分辨率,能够保存结果到媒体库,并能够使用ftp协议发往服务器,能够预览发送内容(附带一个流媒体播放的Demo,未全部完善),内附服务器简易配置。请在配置完成服务器之后再进行网络相关调试,否则将出现无法处理的Bug。 [Code4App.com]

  • 真实世界中的光源 基于物理的光照符合真实世界中的光源描述,在真实环境中,我们所见到的光源产品都具有自身的工业参数,我们先来看一个宜家的灯泡 从产品包装上,我们可以了解到这个灯泡的几个重要工业参数: 功率 色温 尺寸 这三个重要参数影响真实世界中的光源表现效果,下面我们来重点讲解一下这三个参数的物理意义。 发光功率 发光功率就是我们通常所说的光源强度。Cocos Creator 3D 中使用 光学

  • 主要内容:本节引言,1.调用系统自带Carema,2.自己写一个拍照页面,3.本节示例代码下载,本节小结本节引言 本节给大家带来的是Android中Camera的使用,简单点说就是拍照咯,无非两种: 1.调用系统自带相机拍照,然后获取拍照后的图片 2.要么自己写个拍照页面 本节我们来写两个简单的例子体验下上面的这两种情况~ 1.调用系统自带Carema 我们只需下面一席话语,即可调用系统相机,相机拍照后会返回一个intent给onActivityResult。 intent的extra部分包含一

  • 问题内容: 拜托,有人可以帮我吗? 我有一个正在使用的项目,我想拍照并保存文件,但是没有实现函数。 问题答案: 结果:我实现了一个扩展JavaCameraView的新类,并为自己实现了功能takePicture。 --