A Python based Augmented Reality library
Based on the initial repo by Juan Gallostra.
The below link is for an introductory talk I've given on this at PyCon India, 2019.
- Python 3.x
- OpenCV 4.x
- numpy
- Place the image of the surface to be tracked inside the
reference
folder. - On line 36 of
src/ar_main.py
replace'model.jpg'
with the name of the image you just copied inside thereference
folder. - On line 40 of
src/ar_main.py
replace'fox.obj'
with the name of the model you want to render. To change the size of the rendered model change the scale parameter (number3
) in line 103 ofsrc/ar_main.py
by a suitable number. This might require some trial and error. - Open a terminal session inside the project folder and run
python src/ar_main.py
--rectangle
,-r
: Draws the projection of the reference surface on the video frame as a blue rectangle.--matches
,-m
: Draws matches between reference surface and video frame.
If you get the message:
Unable to capture video
printed to your terminal, the most likely cause is that your OpenCV installation has been compiled without FFMPEG support. Pre-built OpenCV packages such as the ones downloaded via pip are not compiled with FFMPEG support, which means that you have to build it manually.
See these excellent blog entries for an in-depth explanation of the logic behind the code: