Skip to content

Latest commit

 

History

405 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# BAME-OCR

An optical character recogniser and sudoku solver app. 

## Overview

BAME-OCR includes a main program which takes a photo of a sudoku and return an
image with that grid solved. That main program has a CLI and a GUI version.
BAME-OCR also includes a separate sudoku solver which takes grid in text format,
and a neural network CLI which can train and test networks.

On top of that, the project also include a static website in ```web/```.

## Installation & Requirements

Just clone the master branch for setup.

The program is written in c and requires the SDL2 and SDL2-image packages as
well as gtk3.

The program is only tested on linux with the gcc compiler.

If warnings occur during the use of the interface do not panic this is normal
as gtk has some basic warnings that can not be suppressed.

## Usage

### Main program

The neural network can be found under ```src/```

Run ```make``` to compile with the CLI. 

CLI usage:

〉./BAME <image path>


Otherwise, run ```make interface``` to compile with the GUI and then run
```./interface``` to start it.


### Neural Network

The neural network can be found under ```src/NeuralNetwork/```

Run ```make``` to compile and then ```./xor``` to enter the CLI.
The program doesn't take any arguments.

CLI usage:

*〉help : show this message
*〉quit : exit program
*〉new [hidden layer size] ... : create a new network
*〉train [learning rate] [epochs] [inertia strength] [batch size] [dataset] : train the network
*〉test [dataset] : test network performance on the test database
*〉save [filename] : save the network
*〉load [filename] : load the network
*〉img [filename] : predict the number on the image (28x28 pixels)

### Sudoku solver

The Sudoku solver can be found under ```src/SudokuSolver```

Run ```make``` to compile and then use ```./solver <filename>``` to solve the grid in the corresponding file.

The grid file need to be a texte file, with extension or not, as you choose.

The solver only accept two format of grid, as shown in ```grid_00``` and ```grid_01``` files.
The solver print the original grid without modification and it print the solved grid below.

It doesn't save the solved grid.

## License 

This application is open-source and free for all users.


About

BIME BOME BAME

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages