You are on page 1of 12

S MART S U DOKU S OLVER

USING
IMAGE PROCESSING
WHAT IS A
SUDOKU?

Sudoku is a logic based puzzle with the


goal to complete a 9x9 grid so that each
row, each column and each of the nine
3x3 boxes contain the numbers 1 through
9, given a partial filling to a unique
solution.
MOTIVATION

In real life we come across Sudoku puzzles of varying difficulty levels in newspapers and
other text and digital media. It is a common leisure activity for a lot of people. However, it is
observed that the solution is not always immediately available for the users verification. In
most cases, people have to wait till the next day to check the solutions of the Sudoku they
just solved. Hence our motivation for this project was to develop an application on an
android device for this purpose.
OBJECTIVE

The objective of this project is to process the sudoku puzzle image and then solve
it with the use of recursive back tracking algorithm while satisfying the game
constraints.

Constraints:
 Sudoku puzzle can only contain the numbers 1 through 9.
 A position constraint: Only 1 number can occupy a cell.
 A row constraint: Only 1 instance of a number can be in the row.
 A column constraint: Only 1 instance of a number can be in a column.
 A region constraint: Only 1 instance of a number can be in a region.
Activity Diagram
METHODOLOGY

Milestone Milestone Goal

Concept Approval Feasibility studies and basic system concepts have been approved by our
mentor and further research into the project has started.

Requirement Review Requirements details for the project are complete and further designing
has started.
Design Review Confirming that the design satisfies the project requirements and are
capable to fully implement the system and are suitable for code input.

Test Plan Test Plans are Adequate for the testing of all product features, are
approved and are suitable for input to the development of test cases.

System Test Software for the system has passed testing and is suitable for further input

Product Operational The Software and Hardware are working the way they were indented
too.
HARDWARE AND SOFTWARE

 OCR Engine
 Android Mobile
 Android Camera
 OpenCV ( Open Source Computer Vision )
WHAT ARE OCR ENGINES?

• Optical Character
Recognition abbreviated as OCR is the
software tool used to convert typed or
handwritten content into machine readable,
editable format. OCR engines are used to
read typed (machine printed) characters. The
easy and quick reading of upper/lower case
letters, accented letters, symbols and
punctuations are performed.
T E S S E R AC T O C R
ENGINE

Tesseract is an OCR engine


with support for unicode and
the ability to recognize more
than 100 languages out of
the box. It can be trained to
recognize other languages.
Here, it has been used with
C++.
What Is OpneCV?

OpenCV (Open Source Computer Vision


Library) is an open source computer
vision and machine learning software
library. OpenCV was built to provide a
common infrastructure for computer
vision applications and to accelerate the
use of machine perception in the
commercial products.
CONCLUSION

Sudoku, as we discussed, is a popular Japanese puzzle game. This project's purpose is to


understand different approaches taken to scan and solve a Sudoku puzzle. This is significant
because majority of the current Sudoku-solving solutions require the user to manually input
numbers. Scanning the puzzle makes this process faster to get a solution to it. We reviewed
different techniques implemented by some researchers along with their advantages and
disadvantages. Because of constant evolution in computation and algorithms, some methods
can get outdated fairly fast such as static template matching while recognizing characters. So
it is necessary to update these techniques to keep up with modern computational practices.
Methods like detection of characters using machine learning can provide a faster and efficient
way.

You might also like