Folders and files
| Name | Name | 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.