1 / 16

Pic-a-pix Solver

Pic-a-pix Solver. Maayan Zehavi. What is it?. Pic-a-pix is a paint by number logic puzzle, in which cells in a grid must be colored or left blank according to numbers at the side of the grid to reveal a hidden picture. Project Goals.

diallo
Download Presentation

Pic-a-pix Solver

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pic-a-pix Solver MaayanZehavi

  2. What is it? • Pic-a-pix is a paint by number logic puzzle, in which cells in a grid must be colored or left blank according to numbers at the side of the grid to reveal a hidden picture.

  3. Project Goals • Given a halved-solved puzzle picture and its dimensions, the project will solve the puzzle and will present the solution as well as the wrong marks. • Given a halved-solved puzzle picture, its dimensions and an image of the solution, the project will present the solution as well as the wrong marks.

  4. Step one – image aligning

  5. Step one – image aligning • Using Hough transform, for each angle: • an attempt to fit a rotated grid is made. • a score correlated with the fitting of that grid is calculated. • This practice is executed in two iterations, the first one in rough accuracy and the second in a finer one.

  6. Step two – grid recognition

  7. Step two – grid recognition • Using Hough transform to locate all horizontal and vertical lines yields inaccurate results. • An improvement was acquired, using: • A histogram of distances between each couple of consecutive lines of the same orientation. • Identifying grid’s area (by identifying the white box on the top left corner and the blocking square). • Calculations based on known numbers of columns and rows.

  8. Step three - OCR

  9. Step three - OCR • The numbers located on the top and to the left of the grid are recognized by those steps: • Calculating approximate number size according to the grid size and spacing. • Resizing all digits templates to this size. • Executing Hough transform for each row or column (in specific zone), and for each digit. • Finding peaks over a certain threshold. • In case of several digits located on the same area, choosing the one that fits the most.

  10. Step four - disappointment • After rotating the image, the quality of the image is severely damaged. • Some of the digits recognition turned out to be erroneous. • Considering the implications of the tiniest inaccuracy on solving the puzzle, it was impossible to complete the goal.

  11. New goal • Most pick-a-pix puzzles magazines contain puzzles’ solutions. • Peeking at those solutions and figuring out which marks were wrong is annoying. • Given an image of the solution, the code will: • Analyze the image • Find solution matrix • Offer several options to reveal the solution.

  12. Step 5 – solution analysis and presentation • After processing the input, these options are available: • Validate • Shows original image and highlights wrong marks • Show a Hint • Picks randomly an unmarked square and highlights it. • Show Solution • Shows original image, highlights wrong marks and completes unmarked squares.

  13. Step 5 – solution analysis and presentation • Input: • n=45, m=35 • Output - validate:

  14. Step 5 – solution analysis and presentation • Input: • n=45, m=35 • Output - Hint:

  15. Step 5 – solution analysis and presentation • Input: • n=45, m=35 • Output - Show Solution :

  16. Conclusion • The project turned out to be both rewarding and disappointing. Even after giving up on OCRing, the options offered by the code were helpful to me. • Also, by improving and fine-tuning a little more, hopefully an autonomous solver is completely applicable.

More Related