AlphaKu is an android application that solves a Sudoku puzzle by using image processing and deep learning.
This open source is based on Python 2.7.
Python 2.7
OpenCV
Android Studio
An android phone (Marshmallow 6.0 or higher) or a virtual device
These instructions will get you a copy of the project up and run on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
To get started, download this repository.
$ git clone https://github.com/kai3n/AlphaKu.git
Compile and run SudokuSolver project to setup a server.
from SudokuSolver import sudoku
sudoku.solver("your_image_file.jpg") # return list of answer key
python run.py
Import Lab-Intent_FileProvider project in Android Studio.
Connect the android phone to your PC/MAC. If not, run a virtual device.
Run the project.
Take a picture of Sudoku. Ex.
Taking a picture checks if user gave a permission to access the camera. Then, compress
the picture into a .JEPG and encode it to bytes using Base64.
Wait till the image gets sent to the server and processed.
Once the picture is taken, the image is getting uploaded to the server(http) and the
program runs image processing to correctly copy the clues. Then, it runs the AI program
to solve Sudoku. The time to finish this step varies, depending on the quality of the picture.
Once the answer is displayed, compare it with the original to check if the ones that were already given are correctly copied over and check the answer.
Once it solves Sudoku, it passes down the answer as an array of JSon which will be
converted as an array of String and printed on the screen using Grid View.
Go back to Main Menu and repeat it as many times as you want.
- James Pak - 02/12/17 - kai3n
- Taekyoon Choi - 02/12/17 - Taekyoon
- Seungyun Lee - 02/12/17 - dltmddbs64
This project is licensed under the MIT License - see the LICENSE.md file for details