|
3 weeks ago | |
---|---|---|
debug-steps | 7 months ago | |
images | 7 months ago | |
.gitignore | 7 months ago | |
ALGORITHM.md | 7 months ago | |
README.md | 3 weeks ago | |
cv_maze.py | 7 months ago | |
main.py | 7 months ago | |
main_camera.py | 7 months ago | |
main_camera_test.py | 7 months ago | |
poetry.lock | 7 months ago | |
pyproject.toml | 7 months ago | |
utils.py | 7 months ago |
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. I tested this on my old laptop using it's built-in webcam and it run mostly in realtime.
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.
An in-depth explaination of the algorithm with pictures of the various steps of the pipeline can be found in the ALGORITHM.md file.
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