Giter Site home page Giter Site logo

yahyaalaamassoud / calculator-using-handwriting-recognition Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 291 KB

A program that uses Artificial Neural Networks to recognize handwritten equations in images and calculates its result.

Java 100.00%
neuralnetwork handwritten-digit-recognition handwriting-recognition calculator-java artificial-neural-networks

calculator-using-handwriting-recognition's Introduction

Calculator using Handwriting Recognition

This project was my final project for the Object Oriented Programming course. The steps which the algorithm takes to show the result for an input image that contains a mathematical equation are described below.

1- Image Segmentation

The program segments the input image and extracts only the needed digits or operators for the calculation, then convert every digit or operator to a small image of 28x28 pixels, which will be the input for the Neural Network. The program accpects digits from 0-9, and the valid operations are: addition, subtraction, multiplication, division, power, and using parentheses.

2- Classification

The extracted thumbnails from the first step of the algorithm are fed into a pre-trained Neural Network with only one hidden layer, the prediction of the Neural Network is a vector of sigmoid activations, each describes a dependant probability p(i) of the input image to belong the (i)th class.

3- Calculating the result

After classifiying every segmented image, we convert this classification to its corresponding digit or operator and concatincate it to an expression string. Then we pass this string to a stack-based calculator to calculate its result.
Then wrapping all of this into a JavaFX application with a simple GUI.


A documentation will be posted for more details about the algorithm's steps, and how to use the NeuralNetwork, Training, and CrossValidation classes in other projects.

calculator-using-handwriting-recognition's People

Contributors

yahyaalaamassoud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

calculator-using-handwriting-recognition's Issues

document

can i get the document which you said to post "A documentation will be posted for more details about the algorithm's steps, and how to use the NeuralNetwork, Training, and CrossValidation classes in other projects." plz.....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.