---
title: "Introduction"
description: "Automated image matching tool with state-of-the-art algorithms"
---
# Introduction
Image Matching WebUI (IMCUI) is a modern tool for matching image pairs using state-of-the-art computer vision algorithms. Built with Gradio, it provides an intuitive interface for both researchers and developers.
Ready to get started? Jump directly to our Quick Start to begin matching images in minutes.
## What It Does
IMCUI matches pairs of images to identify corresponding points and estimate geometric transformations. Built for:
- **Computer Vision Research**: Algorithm comparison and benchmarking
- **Image Processing**: Feature matching, image stitching, panorama creation
- **Education**: Learning modern matching algorithms through visualization
- **Development**: Integrating matching into applications
## Key Capabilities
### 🎯 Algorithm Diversity
Access 20+ matching algorithms through [vismatch](https://github.com/gmberton/vismatch) integration:
- **Sparse methods**: Feature-based matching with discrete keypoints
- **Dense methods**: Pixel-wise correlation matching
- **Hybrid approaches**: Combining multiple techniques
### 🖥️ User Experience
- **Modern web interface**: Intuitive Gradio-based UI
- **Real-time visualization**: See matches as they're computed
- **Flexible input**: Local files, webcam, or batch processing
### 🔧 Customization
- **YAML configuration**: Easy setup and sharing
- **Parameter tuning**: Adjust thresholds, RANSAC settings, more
- **GPU acceleration**: Support for CUDA-enabled systems
### 🚀 Integration
- **Complete API**: Programmatic access to all features
- **CLI tools**: Command-line automation
- **Extensible**: Add custom matchers and features
## Architecture
```mermaid
graph LR
UserInput[User Input] --> CLI[CLI Interface]
UserInput --> WebUI[Web Interface]
CLI --> API[ImageMatchingAPI]
WebUI --> API
subgraph CoreFeatures[Core Functions]
API --> Matching[Matching Engine]
API --> Geometry[Geometry Computation]
API --> Visualization[Visualization]
end
subgraph DataSources[Data Sources]
MatcherZoo[Matcher Zoo
vismatch integration]
ModelCache[Model Cache]
Config[Config Files]
end
API --> MatcherZoo
API --> ModelCache
API --> Config
Output[Result Output] --> CLI
Output --> WebUI
Visualization --> Output
style UserInput fill:#4F46E5,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style CLI fill:#8B5CF6,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style WebUI fill:#8B5CF6,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style API fill:#6366F1,stroke:#ffffff,stroke-width:3px,color:#ffffff,font-size:11px
style Matching fill:#F59E0B,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style Geometry fill:#F59E0B,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style Visualization fill:#EC4899,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style MatcherZoo fill:#10B981,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style ModelCache fill:#D97706,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style Config fill:#059669,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style Output fill:#818CF8,stroke:#ffffff,stroke-width:2px,color:#ffffff,font-size:11px
style CoreFeatures fill:#374151,stroke:#6366F1,stroke-width:2px,color:#ffffff,stroke-dasharray: 5 5
style DataSources fill:#374151,stroke:#6366F1,stroke-width:2px,color:#ffffff,stroke-dasharray: 5 5
```
Dynamically loads algorithms from vismatch package
Python API for programmatic matching
Gradio-based UI for interactive use
YAML-based setup and parameter management
## Getting Started
Follow our three-step guide to install and start using Image Matching WebUI in minutes.
## Technical Overview
### Matching Pipeline
1. **Feature Detection**: Identify keypoints in source images
2. **Feature Description**: Generate descriptors for each keypoint
3. **Feature Matching**: Find corresponding points between images
4. **Outlier Removal**: Use RANSAC to filter incorrect matches
5. **Geometry Estimation**: Compute transformation matrix
6. **Visualization**: Display matches and estimated geometry
### Supported Geometries
- **Homography**: Projective transformation for planar scenes
- **Fundamental Matrix**: Epipolar geometry for calibrated cameras
- **Essential Matrix**: Camera motion for calibrated stereo
### Algorithm Integration
All matching algorithms are maintained in the [vismatch](https://github.com/gmberton/vismatch) repository. New algorithms become automatically available as they're added.
## Performance
GPU-accelerated matching for large images
State-of-the-art algorithms with proven results
Easy to use for beginners, powerful for experts
---
## Project Resources
PyPI, Docker, source installation options
Customize matchers and parameters
Available matching algorithms
Programmatic usage guide
## Community & Support
Need Help? Visit our community discussions or check the troubleshooting guide for common issues.