https://github.com/mnixry/python-orb-slam3
A Python wrapper of ORB-SLAM3 feature extraction algorithm.
https://github.com/mnixry/python-orb-slam3
cpp feature-extraction opencv opencv-python pybind11 python3
Last synced: 3 months ago
JSON representation
A Python wrapper of ORB-SLAM3 feature extraction algorithm.
- Host: GitHub
- URL: https://github.com/mnixry/python-orb-slam3
- Owner: mnixry
- License: gpl-3.0
- Archived: true
- Created: 2022-11-16T12:30:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-03T09:58:57.000Z (6 months ago)
- Last Synced: 2025-03-23T22:35:24.161Z (3 months ago)
- Topics: cpp, feature-extraction, opencv, opencv-python, pybind11, python3
- Language: C++
- Homepage: https://pypi.org/project/python-orb-slam3/
- Size: 1.79 MB
- Stars: 38
- Watchers: 1
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# python-orb-slam3
A Python wrapper for the [ORB-SLAM3](https://github.com/UZ-SLAMLab/ORB_SLAM3) feature extraction algorithm.
## Installation
### From PyPI
> **Note**
> This package's pre-built binaries are only available for AMD64 architectures.```bash
pip install python-orb-slam3
```### From source
There are a few steps to follow to install this package from the source code, please refer to the CI configuration file [here](.github/workflows/ci.yml) for more details.
## Usage
```python
import cv2
from matplotlib import pyplot as pltfrom python_orb_slam3 import ORBExtractor
source = cv2.imread("path/to/image.jpg")
target = cv2.imread("path/to/image.jpg")orb_extractor = ORBExtractor()
# Extract features from source image
source_keypoints, source_descriptors = orb_extractor.detectAndCompute(source)
target_keypoints, target_descriptors = orb_extractor.detectAndCompute(target)# Match features
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(source_descriptors, target_descriptors)# Draw matches
source_image = cv2.drawKeypoints(source, source_keypoints, None)
target_image = cv2.drawKeypoints(target, target_keypoints, None)
matches_image = cv2.drawMatches(source_image, source_keypoints, target_image, target_keypoints, matches, None)# Show matches
plt.imshow(matches_image)
plt.show()
```## License
This repository is licensed under the [GPLv3](LICENSE) license.
A Python wrapper for the ORB-SLAM3 feature extraction algorithm.
Copyright (C) 2022 Johnny HsiehThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program. If not, see .