| | --- |
| | title: README |
| | emoji: ⚡ |
| | colorFrom: purple |
| | colorTo: gray |
| | sdk: static |
| | pinned: false |
| | license: bsd-3-clause |
| | --- |
| | |
| |
|
| | # vismatch |
| |
|
| | Vis(ion)Match(ers) is a unified API for quickly and easily trying **50+ image matching models**. We provide a simple interface for deploying keypoint, semi-dense, and dense image matching models on image pairs. |
| |
|
| | [](https://github.com/gmberton/vismatch) |
| | [](https://colab.research.google.com/github/gmberton/vismatch/blob/main/demo.ipynb) |
| | [](https://pypi.org/project/vismatch/) |
| | [](https://vismatch.readthedocs.io/en/latest/) |
| |
|
| | ## Install |
| |
|
| | We strongly recommend using `uv`, although `pip` will work too |
| | ```bash |
| | pip install uv |
| | uv venv --python 3.13 |
| | source .venv/bin/activate |
| | uv pip install vismatch |
| | ``` |
| | Usage |
| | ``` |
| | from vismatch import get_matcher |
| | from vismatch.viz import plot_matches |
| | |
| | # Choose any of the 50+ available matchers, like superpoint-lightglue |
| | matcher = get_matcher("superpoint-lightglue", device="cuda") |
| | |
| | img0 = matcher.load_image("path/to/img0.jpg", resize=512) |
| | img1 = matcher.load_image("path/to/img1.jpg", resize=512) |
| | |
| | result = matcher(img0, img1) |
| | plot_matches(img0, img1, result, save_path="plot_matches.png") |
| | ``` |
| | All model weights are hosted here and automatically downloaded by vismatch. |