Sudoku Solver using Deep Learning and Computer Vision
Solving Sudoku puzzles from images using image processing, digit recognition, and backtracking algorithm

Soduko Sample
Project Overview
- Objective: Automatically detect and solve Sudoku puzzles from uploaded images using a combination of image processing, deep learning, and classic algorithms.
- Tools Used: Python, OpenCV, NumPy, Keras, TensorFlow, PyQt5
Problem Statement
The goal of this project is to enable users to upload an image of an incomplete Sudoku puzzle and have the system recognize the grid, detect the digits, and solve the puzzle in real-time. The project combines deep learning for digit recognition with image preprocessing and a backtracking algorithm to solve the puzzle efficiently.
How It Works
- User uploads or selects an image containing a Sudoku puzzle.
- Image is preprocessed (grayscale, thresholding, edge detection) and the grid is extracted using contour detection and perspective transformation.
- Each cell is isolated and digits are recognized using a CNN model trained on digit datasets.
- The board is passed to a backtracking solver that fills in missing values.
- The solved Sudoku is overlaid back onto the original image using inverse transform.
GUI Functionality
- Built using PyQt5 for a clean user interface.
- Users can upload an image, manually select ROI, or use automatic detection.
- Intermediate steps (digit detection, grid extraction, solved board) are visualized within the GUI.
- Error messages are displayed for unsolvable puzzles or low-quality inputs.