File size: 1,513 Bytes
ba7c957
 
 
 
 
 
 
6273431
ba7c957
 
88fcf44
 
 
 
 
 
 
 
6273431
88fcf44
 
 
 
 
 
 
 
 
 
 
3639d90
88fcf44
 
 
 
 
 
 
 
 
 
 
 
3639d90
6273431
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
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.

[![GitHub](https://img.shields.io/badge/GitHub-vismatch-blue?logo=github)](https://github.com/gmberton/vismatch)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/gmberton/vismatch/blob/main/demo.ipynb)
[![PyPI](https://img.shields.io/pypi/v/vismatch)](https://pypi.org/project/vismatch/)
[![RTD](https://app.readthedocs.org/projects/vismatch/badge/?version=latest&style=flat)](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.