oximedia-align
Video alignment and registration tools for multi-camera synchronization in OxiMedia.
Part of the oximedia workspace — a comprehensive pure-Rust media processing framework.
Features
Temporal Alignment
- Audio Cross-Correlation — Precise synchronization using audio tracks
- Timecode Synchronization — LTC/VITC-based alignment
- Visual Markers — Clapper detection and flash-based sync
- Sub-frame Accuracy — Timing precision down to microseconds
Spatial Registration
- Homography Estimation — Planar perspective transformation with RANSAC
- Perspective Correction — Remove keystone distortion
- Feature Matching — Robust point correspondence between views
- Affine Transforms — Translation, rotation, scaling, and shear
Feature Detection
- FAST Corners — High-speed corner detection
- BRIEF Descriptors — Binary robust independent elementary features
- ORB Features — Oriented FAST and Rotated BRIEF
- Patent-Free — All algorithms are free from patent restrictions
Lens Distortion Correction
- Brown-Conrady Model — Radial and tangential distortion
- Fisheye Model — Wide-angle lens correction
- Camera Calibration — Intrinsic parameter estimation
- Real-time Undistortion — Precomputed lookup tables
Color Matching
- Color Transfer — Match color distributions across cameras
- Histogram Matching — Equalize color histograms
- White Balance — Illuminant estimation (gray world, white patch)
- ColorChecker Calibration — Industry-standard color calibration
Sync Markers
- Clapper Detection — Automatic slate detection
- Flash Detection — Bright flash synchronization
- LED Markers — Coded light patterns
- Audio Spike Detection — Sharp transient detection
Rolling Shutter Correction
- Motion Estimation — Per-scanline motion vectors
- Wobble Correction — Remove rolling shutter wobble
- Skew Removal — Correct geometric distortion
- Global Shutter Simulation — Temporal interpolation
Geometric Transformations
- Image Warping — Homography and affine transforms
- Interpolation — Nearest, bilinear, and bicubic
- Mesh Warping — Non-rigid deformations
- Border Handling — Constant, replicate, reflect, and wrap modes
Usage
Add to your Cargo.toml:
[]
= "0.1.0"
Audio-Based Synchronization
use ;
let config = SyncConfig ;
let sync = new;
let offset = sync.find_offset?;
println!;
Homography Estimation
use ;
use ;
let orb = new;
let = orb.detect_and_compute?;
let = orb.detect_and_compute?;
let matcher = default;
let matches = matcher.match_features;
let estimator = new;
let = estimator.estimate?;
Lens Distortion Correction
use ;
let intrinsics = new;
let distortion = new;
let camera = new;
let undistorter = new;
let corrected = undistorter.undistort?;
Rolling Shutter Correction
use ;
let params = new;
let corrector = new;
let corrected = corrector.estimate_and_correct?;
API Overview
Modules (36 source files, 731 public items):
temporal— Audio cross-correlation and timecode synchronizationspatial— Homography estimation and RANSAC-based registrationfeatures— ORB/FAST feature detection and matchingdistortion— Lens distortion models and correctioncolor— Color transfer and white balancemarkers— Sync marker detection (clapper, flash, LED)rolling_shutter— Rolling shutter correctionwarp— Geometric transformation and image warping
Safety
This crate uses #![forbid(unsafe_code)] and contains no unsafe operations.
Patent-Free
All algorithms are selected to avoid patent-encumbered methods. ORB features are used instead of SIFT/SURF.
License
Apache-2.0 — Copyright 2024-2026 COOLJAPAN OU (Team Kitasan)