OpenGV is a collection of computer vision methods for solving geometric vision problems. It is hosted and maintained by the Mobile Perception Lab of ShanghaiTech.
Propose using pybind11 for the python binding instead of the boost.python.
Pros:
boost.python is really hard to build on windows (and maybe others) platform and especially when we want to have python bindings for various python versions, what's more, it is really large.
With pybind11, the grammar is almost very the same as boost.python but much more lightweight, we can even embed it into the source code (as shown in this PR)
we get python2/python3 support seamlessly and no extra effort
we can potentially publish opengv as standalone library on pip or conda
This PR can be reshaped since:
There are both boost.python and pybind11 (in python_pybind folder) at present to be chosen by the user, maybe one is enough (you know, I mean the pybind11 one :) )
What I did is almost replace bp and bpn with py, maybe there can be more advanced usage of pybind11
The test is just passing the test.py in python folder, more tests are better
Propose using pybind11 for the python binding instead of the boost.python.
Pros:
This PR can be reshaped since:
bp
andbpn
withpy
, maybe there can be more advanced usage of pybind11test.py
in python folder, more tests are betterAnyway, hope this can be helpful.