Home

Word Search Solver

Android and Windows App to solve word searches (find-a-words) from an image.
Created with Python using Kivy, Open CV.
It solves the word searches in a three step process

Downloads

How it works

  • First it preprocesses the image by applying a variety of effects including, blurring, greyscaling, thresholding and scaling down
  • Second it finds all contours and filters them down to ones that are roughly the right size and shape
  • Third it creates a small images fitted to each of the contours, normalizes them and organises them into a grid based on their poistions
  • Fourth it passes each image into a K Nearest Neighbour Classifer. The Knn classifier works by finding
    the summed pixel difference between the given image and every image in an dataset of autogenerated labeled letters and gives you a list of the few letters that match up the best.
  • Fifth it goes through every word and
    • Finds all grid squares with that had a near match to the first letter of the word
    • For each first letter found check all adjacent grid squares to see if they had any matches with the second letter
    • Continue checking the letters in the same directions for near matches for the rest of the letters in the word
    • If you find all letters in a word, assign it a confidence based on how many of the close matches were for the same letter
    • Take the word with the highest confidence

App

Made with the python library Kivy, builds to andorid with buildozer (part of kivy) and pyfreeze for windows.