Important
Only works with PNG screenshots of NYT grids (currently).
- document the pre processing command
- test the Grid.String() method
- test the /read-grid endpoint
- get a "best attempt" OCR flow going again
- support Sudoku.com grids
- make it work for other file formats
api.go-> basic web-server to expose grid processinggrid.go-> identifies the grid boundaries, splits out each cell into it's on entity, orchestrates cell processing viagrid_worker.gogrid_worker.go-> thread pool of cell processors, is orchestrated by the grid, calls processing methods on each cellcell.go-> in-charge of placeholder and value identification, manages pre-processing viagrid_image.gogrid_image.go-> low-level wrapper aroundimage.Image, executes image pre-processing via ImageMagick, executes OCR via Tesseract
docker build . -t grid-readerdocker run -p 8080:8080 grid-readercurl --form file='@grids/3/grid.png' localhost:8080/read-grid
- you'll need imagemagick installed (https://github.com/gographics/imagick)
go run main.go