Expand description
Computer vision module for OxiMedia.
oximedia-cv provides computer vision algorithms and image processing
capabilities for the OxiMedia multimedia framework. This includes:
- Image processing: Resize, color conversion, filtering, edge detection
- Detection: Face detection, motion detection, object detection, corner detection
- Transforms: Affine and perspective transformations
- Enhancement: Super-resolution and denoising using AI models
- Machine Learning: ONNX Runtime integration for ML model inference
- Tracking: Optical flow, feature tracking, object tracking
- Stabilization: Video stabilization with motion smoothing
- Scene detection: Video scene changes and shot boundary detection
- Quality: Video quality assessment metrics (PSNR, SSIM, VMAF)
- Interpolation: Frame interpolation using optical flow for frame rate conversion
- Chroma key: Green screen and blue screen processing with spill suppression
- Content-aware scaling: Seam carving and intelligent resizing
- Interlace detection: Interlacing and telecine detection with IVTC recommendations
- Motion blur: Motion blur synthesis and removal with deconvolution algorithms
- Fingerprinting: Perceptual content fingerprinting for video and audio
§Modules
image: Image processing operations (resize, filter, histogram, etc.)detect: Detection algorithms (face, motion, object, corner)transform: Geometric transformations (affine, perspective)enhance: Image enhancement (super-resolution, denoising)ml: Machine learning and ONNX Runtime integrationtracking: Video tracking and optical flow (incl. enhanced SORT withtracking::SortTrackerV2/tracking::LkTracker)stabilize: Video stabilization with motion smoothingscene: Video scene detection and shot boundary detectionquality: Video quality metrics (PSNR, SSIM, VMAF, temporal)interpolate: Frame interpolation using optical flow for smooth motionchroma_key: Chroma keying (green screen) with spill suppression and compositingscale: Content-aware scaling using seam carving and saliency detectioninterlace: Interlacing and telecine detection for video content analysismotion_blur: Motion blur synthesis and removal with deconvolutionfingerprint: Perceptual fingerprinting for content identification and matching
§Example
use oximedia_cv::image::{ResizeMethod, ColorSpace};
use oximedia_cv::detect::BoundingBox;
use oximedia_cv::transform::AffineTransform;
// Example usage
let bbox = BoundingBox::new(10.0, 20.0, 100.0, 150.0);
assert!(bbox.area() > 0.0);Re-exports§
Modules§
- action_
recognition - Action recognition using temporal feature analysis.
- background_
subtraction - Background subtraction via a per-pixel Mixture-of-Gaussians (MOG2-inspired) model.
- blob_
detector - Blob detection via connected-component labeling and morphological filtering.
- bounding_
box - Axis-aligned bounding-box utilities for computer-vision pipelines.
- chroma_
key - Chroma key (green screen) processing module.
- color_
cluster - Color clustering via K-Means for dominant color extraction.
- contour
- Contour finding and analysis for binary/edge images.
- deep_
sort - DeepSORT multi-object tracker combining Kalman filter motion prediction with deep appearance feature embeddings for robust re-identification.
- depth_
estimation - Stereo depth estimation from disparity maps.
- detect
- Detection algorithms.
- enhance
- Image enhancement module.
- error
- Error types for computer vision operations.
- feature_
extract - Feature extraction: SIFT-like keypoints, ORB-like descriptors, and BRIEF.
- feature_
match - Feature descriptor matching utilities for stereo vision, SLAM, and object tracking.
- fingerprint
- Content fingerprinting for video and audio.
- histogram_
backproject - Histogram back-projection for object localization in images.
- hough_
transform - Hough transform for detecting lines and circles in images.
- image
- Image processing operations.
- instance_
segmentation - Instance segmentation: connected-component labeling with per-object binary masks.
- interlace
- Interlacing and telecine detection for video content.
- interpolate
- Video frame interpolation using optical flow.
- keypoint
- Keypoint detection and matching for feature-based computer vision tasks.
- lane_
detect - Lane detection for video frames.
- lens_
distortion - Lens distortion correction (barrel, pincushion, fish-eye).
- morphology
- Mathematical morphology operations for binary and grayscale images.
- motion_
blur - Motion blur synthesis and removal.
- motion_
vector - Motion vector estimation between video frames.
- obj_
tracking - Object tracking: centroid tracking, IoU-based track association, and track lifecycle management.
- optical_
flow_ field - Dense optical flow field representation and analysis.
- panorama_
stitch - Simple offset-based panorama stitching with linear alpha blending.
- pose_
estimation - Human pose estimation module.
- quality
- Video quality assessment metrics.
- registration
- Video alignment and registration tools.
- scale
- Content-aware video scaling for OxiMedia.
- scene
- Video scene detection and shot boundary detection.
- segmentation
- Image segmentation: connected components, region growing, and a watershed-like approximation.
- stabilize
- Video stabilization with motion smoothing.
- style_
transfer - CPU-based artistic style transfer using neural-style approximation.
- superpixel
- Superpixel segmentation using a simplified SLIC algorithm.
- text_
detect - Text detection and recognition (OCR) for extracting burned-in subtitles.
- texture_
analysis - Image texture analysis using Gray-Level Co-occurrence Matrices (GLCM).
- tracking
- Video tracking and motion estimation.
- transform
- Geometric transformation module.
- video_
matting - Video matting — alpha matte extraction without a chroma key.