Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sudoku Downloader and Recognizer Author: Pedro Evaristo González Sánchez.

Similar presentations


Presentation on theme: "Sudoku Downloader and Recognizer Author: Pedro Evaristo González Sánchez."— Presentation transcript:

1 Sudoku Downloader and Recognizer Author: Pedro Evaristo González Sánchez

2 Main Activity(Portrait)

3 Custom view -Paint and Canvas to draw, background, lines and numbers -Adaptable ( OnSizeChanged ) -Events Self-management( onTouchEvent, onKeypressed ) -Interaction with Main Activity

4 Custom View – Main Activity

5 Class Sudoku (I)  Matrix [9][9] of Integers  Constructor overload ( String ) to implement the communication between activities  The class return a String which contains the sudoku board. This is very helpful for several situations. For innstance ( Bundle and Activities communication)  Neighbor checking ( row, column and block )

6 Sudoku Class II ( Backtracking ) -If the actual Cell is (9,9) => Ends -If you find a number, go to the next cell ( Original Sudoku ) -For each value 1..9 -If neighbor checking is positive -Sudoku(i+1,j+1) -If you don’t find a candidate, restore and go back one cell

7 Download Activity (I) -A way to update the app game -It exist a Sudoku board holded in a web server -“Good formed” Board within a *.txt file. -The goal is to rescue this board and take it to the Game

8 Download Activity (II)

9 3. Sudoku Recognizer  3.0 Android previous concepts  3.1 Image Capture  3.2 Image processing (OpenCV)  3.3 Optical Chracter Recognition (OCR)  Tesseract

10 3.0 Android previous concepts  SDK and OpenCV Library (OpenCV)  NDK (Native Developing Kit) ( Tesseract )  Build libraries and reference them in the application.

11 3.1 Image Capture -Calling the Intent in charge of capturing images of Android -Capture and save the image in a temporal file -Pre-processing => Finding the balance between good qualitiy and computability

12 3.2 Image Processing (I)  First controversy, the image is in perspective => the board is not a quad, is a trapezoid  The Main concern is a processing in two levels (RGB and GRAY)

13  Border’s detection  Next, searching the biggest contour within the image. (ROI) Image Processing (II)

14 Image Processing (III)  Hough algorithm and transform to find the boards lines  Two fundamental concepts in line processing:  Every single line will be delete painting them of white or black in each case (RGB and GRAY).  Check if the start point or end point of line is inside some of the four rect corners of the image

15 Image Processing (IV)  Getting the matrix that defines the perspective transformation needed to extrapolate the corners of the board to the corners of the image  Apply a WarpPerspective Transformation with the matriz obtained.

16 Image Processing (V)  At this point, the board is divided in equal cells to process each one of them

17 Procesamiento de la Imagen (VI)  Single cell processing in paralell (RGB and Gray) bearing in mind Tesseracts requeriments. Equalizing Histogram Threshold Smooth + Dilate findContours()

18 Tesseract ( OCR )  ¡Don’t wait for a miracle!. You need an strong image processing  Delimiting dictionary to numbers (1..9)  For each number it is necessary releasing the memory allocated by the image and by the tesseracts object. We are on a phone and we’ve got less memory resources. Tesseract 6

19 That’s all. Thank you!!


Download ppt "Sudoku Downloader and Recognizer Author: Pedro Evaristo González Sánchez."

Similar presentations


Ads by Google