This is a simple python binding of Stag Fiducial Marker System
- numpy
pip install numpy
- cmake
- Pybind11
pip install pybind11
-
clone this repository
git clone --recursive https://github.com/Sologala/pyStag.git
-
Find out your
numpy include
PathIn [1]: import numpy In [2]: numpy.get_include() Out[2]: '/Users/bytedance/anaconda3/lib/python3.8/site-packages/numpy/core/include'
-
Fill
numpy include
toCmakeLists.txt
include_directories( pybindSrc/opencv2numpy # You need to change this follow Path to your own Path. # "# You need to change this follow Path to your own Path. " # "# You need to change this follow Path to your own Path. " # "# You need to change this follow Path to your own Path. " # "# You need to change this follow Path to your own Path. " /Users/bytedance/anaconda3/lib/python3.8/site-packages/numpy/core/include )
-
make
mkdir build cmake .. make
-
then you will got a
pyStag.cpython-3*-**.so
in./lib
-
install Python package
python setup.py install
python test_warpper.py
Now, this is just a prototype for warpping Stag system. It has only few attributes and interfaces, and function, And I will add some more in the future.
thank to edmBernard's work https://github.com/edmBernard/pybind11_opencv_numpy, let the conversion between numpy and cv::Mat works fine.
Code used in the following paper:
Markers (see ref/marker generator
for reference code for marker generation):
https://drive.google.com/drive/folders/0ByNTNYCAhWbIV1RqdU9vRnd2Vnc
-
STag ROS: A ROS package for the Stable Fiducial Marker System by Unmanned Systems & Robotics Lab - UofSC
-
ROS wrapper for STag by Dartmouth Reality and Robotics Lab
Some figures from the paper: