All Projects → Roujack → Mathai

Roujack / Mathai

Licence: mit
一个拍照做题程序。输入一张包含数学计算题的图片,输出识别出的数学计算式以及计算结果。This is a mathematic expression recognition project.

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Mathai

Arucounity
Bring augmented reality to Unity by tracking Aruco markers in real time.
Stars: ✭ 144 (-92.67%)
Mutual labels:  opencv
Detector De Mascaras
Script utilizando OpenCV e modelo Machine Learning para detectar o uso de máscaras.
Stars: ✭ 150 (-92.37%)
Mutual labels:  opencv
Transfer Learning Anime
Transfer Learning for Anime Characters Recognition
Stars: ✭ 155 (-92.11%)
Mutual labels:  opencv
Scene Text Recognition
Scene text detection and recognition based on Extremal Region(ER)
Stars: ✭ 146 (-92.57%)
Mutual labels:  opencv
Blink Ar
Stars: ✭ 149 (-92.42%)
Mutual labels:  opencv
Vehicle Speed Check
Vehicle Speed Check
Stars: ✭ 151 (-92.32%)
Mutual labels:  opencv
Img term
Display image, video or USB camera in your ANSI terminal!
Stars: ✭ 143 (-92.72%)
Mutual labels:  opencv
Blurdetection2
Blur Detection with OpenCV in Python
Stars: ✭ 156 (-92.06%)
Mutual labels:  opencv
Monocular Visual Odometry
A simple monocular visual odometry (part of vSLAM) by ORB keypoints with initialization, tracking, local map and bundle adjustment. (WARNING: Hi, I'm sorry that this project is just tuned for course demo, not for real world applications !!!)
Stars: ✭ 147 (-92.52%)
Mutual labels:  opencv
Opencv Facial Landmark Detection
使用OpenCV实现人脸关键点检测
Stars: ✭ 153 (-92.21%)
Mutual labels:  opencv
Face Detect
A Python based tool to extract faces from any picture.
Stars: ✭ 146 (-92.57%)
Mutual labels:  opencv
Stb Tester
Automated Testing for Set-Top Boxes and Smart TVs
Stars: ✭ 148 (-92.47%)
Mutual labels:  opencv
Smartopencv
🔥 🔥 🔥 SmartOpenCV是一个OpenCV在Android端的增强库,解决了OpenCV Android SDK在图像预览方面存在的诸多问题,且无需修改OpenCV SDK源码,与OpenCV的SDK解耦
Stars: ✭ 1,869 (-4.89%)
Mutual labels:  opencv
Haskell Opencv
Haskell binding to OpenCV-3.x
Stars: ✭ 145 (-92.62%)
Mutual labels:  opencv
Proctoring Ai
Creating a software for automatic monitoring in online proctoring
Stars: ✭ 155 (-92.11%)
Mutual labels:  opencv
Self Driving Car 3d Simulator With Cnn
Implementing a self driving car using a 3D Driving Simulator. CNN will be used for training
Stars: ✭ 143 (-92.72%)
Mutual labels:  opencv
Sltk
An OpenCV-based structured light processing toolkit.
Stars: ✭ 151 (-92.32%)
Mutual labels:  opencv
Astral
Augmented reality social network, an underworld of discussion and information to every street.
Stars: ✭ 156 (-92.06%)
Mutual labels:  opencv
Ocrtable
Recognize tables and text from scanned images that contain tables. 从包含表格的扫描图片中识别表格和文字
Stars: ✭ 155 (-92.11%)
Mutual labels:  opencv
Opencv Python
Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.
Stars: ✭ 2,413 (+22.8%)
Mutual labels:  opencv

mathAI

一个拍照做题程序。输入一张包含数学计算题的图片,输出识别出的数学计算式以及计算结果。 请查看系统文档说明来运行程序。注意,这是一个半开源的项目,目前上传的版本只能处理简单的一维加减乘除算术表达式(如果想要识别更加复杂的表达式,可以参考数学公式识别的论文)。可以参考的代码是前面字符识别部分以及整个算法处理框架。 image

整个程序使用python实现,具体处理流程包括了图像预处理、字符识别、数学公式识别、数学公式语义理解、结果输出。

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

优点:这是一整套拍照做题的算法框架,同时能够处理多种多样的计算题,目前市面上还没有看到实现。OCR技术如此成熟的今天字符识别 已经不算有挑战的东西了。 缺点:字符空间关系判断只用了人类启发式规则,图像预处理不够鲁棒,数学公式的结构识别算法不够完美(可以考虑使用二维文法来做)。 系统还有很大的提升空间。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].