| --- |
| 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 |
| ```python |
| 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. |