Awesome
This repo is deprecated! The Python wrapper is now merged to the main repo that you can find at Link.
MAGSAC++'s Python Wrapper
This repository contains an Python wrapper of MAGSAC and MAGSAC++.
The main repository is at https://github.com/danini/magsac
If you use the algorithm, please cite
@inproceedings{barath2019magsac,
author = {Barath, Daniel and Matas, Jiri and Noskova, Jana},
title = {{MAGSAC}: marginalizing sample consensus},
booktitle = {Conference on Computer Vision and Pattern Recognition},
year = {2019},
}
@inproceedings{barath2019magsacplusplus,
author = {Barath, Daniel and Noskova, Jana and Ivashechkin, Maksym and Matas, Jiri},
title = {{MAGSAC}++, a fast, reliable and accurate robust estimator},
booktitle = {arXiv preprint:1912.05909},
year = {2019},
}
If you use it for fundamental matrix estimation with DEGENSAC turned on, please cite
@inproceedings{Chum2005,
author = {Chum, Ondrej and Werner, Tomas and Matas, Jiri},
title = {Two-View Geometry Estimation Unaffected by a Dominant Plane},
booktitle = {CVPR},
year = {2005},
}
Performance of MAGSAC++
MAGSAC++ is the state of the art according to "RANSAC in 2020" CVPR tutorial's experiments.
Performance of MAGSAC
MAGSAC is the state of the art according to the recent study Yin et.al."Image Matching across Wide Baselines: From Paper to Practice", 2020.
Installation
To build and install python_cpp_example
, clone or download this repository and then, from within the repository, run:
python3 ./setup.py install
or
pip3 install .
Example of usage
import pymagsac
H, mask = pymagsac.findHomography(src_pts, dst_pts, 3.0)
F, mask = pymagsac.findFundamentalMatrix(src_pts, dst_pts, 3.0)
See also this notebook
Requirements
- Python 3
- CMake 2.8.12 or higher
- OpenCV 3.4
- A modern compiler with C++14 support
Acknowledgements
This wrapper part is based on great Benjamin Jack python_cpp_example
.