A "simple" OpenCV maze solver
Go to file
Antonio De Lucreziis 5aa06a1af6 some tweaks and algorithm breakdown
debug-steps some tweaks and algorithm breakdown
images added a better image
.gitignore initial commit
ALGORITHM.md some tweaks and algorithm breakdown
README.md updated readme
cv_maze.py some tweaks and algorithm breakdown
main.py added debug image steps for explainer (to be written)
main_camera.py initial commit
main_camera_test.py some tweaks and algorithm breakdown
poetry.lock initial commit
pyproject.toml initial commit
utils.py some tweaks and algorithm breakdown

README.md

OpenCV Maze Solver

This is a simple maze solver using OpenCV and Python. The maze is solved using the A* algorithm from the NetworkX library.

Markers This project uses apriltag markers (from the family tag25h9) to detect the start and end points of the maze. Here is the meaning of each tag:

  • tag25_09_00001, tag25_09_00002: are used to detect boundaries of the maze.

  • tag25_09_00003 tells the start point of the maze.

  • tag25_09_00004 tells the end point of the maze.

Installation

This project uses Poetry for dependency management. To install the dependencies, run the following command:

poetry install

Usage

Image

To run the maze solver, use the following command:

poetry run python main.py --image <image_path>

Replace <image_path> with the path to the maze image you want to solve like images/IMG_0867.jpg.

Camera

To run the maze solver using the camera, use the following command:

poetry run python main_camera.py