thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #opencv
Breakthrough/PySceneDetect ★ 5253 532 APPLICATION

PySceneDetect is a production-grade Python library and CLI tool for detecting scene changes (cuts, fades, dissolves) in video files. It provides multiple detection algorithms (ContentDetector, AdaptiveDetector, ThresholdDetector, HistogramDetector, HashDetector, and TransNetV2 ONNX) and supports several video backends (OpenCV, PyAV, MoviePy). The architecture is modular: a VideoStream abstraction for decoding, a SceneDetector interface for pluggable algorithms, a SceneManager for orchestration, and output writers for CSV, EDL, FCP XML, OTIO, HTML, images, and video splitting. The CLI (built with click) offers chained subcommands for detection, splitting, and export. The repository also includes a comprehensive benchmark suite for evaluating accuracy on public shot-boundary datasets (BBC, AutoShot, ClipShots) using TRECVID-SBD metrics, making it valuable for both practical video processing and research. The codebase is well-structured, has extensive test coverage, and is actively maintained with recent releases and CI workflows.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
opencv/opencv ★ 91073 57040 APPLICATION

OpenCV is a comprehensive computer vision and machine learning library written primarily in C++ with bindings for Python, Java, JavaScript, Swift, and other languages. Its architecture is modular, with core modules for fundamental data structures (Mat, UMat, Scalar), image processing (imgproc), video I/O (videoio), deep neural network inference (dnn), feature detection (features), object detection (objdetect), camera calibration (calib), 3D geometry (geometry), point cloud processing (ptcloud), and more. The library provides a hardware abstraction layer (HAL) for CPU optimizations (SIMD, IPP, Carotene) and supports GPU acceleration via CUDA, OpenCL, and Vulkan backends. Key entry points include cv::imread/cv::imwrite for image loading, cv::VideoCapture for video streams, and cv::dnn::readNet for model inference. Data flows typically involve reading image or video data, applying processing pipelines (filtering, feature extraction, detection), and outputting results. External dependencies include vendored third-party libraries for image codecs (libjpeg-turbo, libwebp, libtiff, openjpeg), compression (zlib-ng), serialization (protobuf, flatbuffers), text shaping (harfbuzz), and linear algebra (mlas, clapack). The codebase is actively maintained with frequent commits, extensive test and performance benchmarks, and support for multiple platforms including Windows, Linux, macOS, Android, and iOS.

RATING: 9.0/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
albumentations-team/AlbumentationsX ★ 557 42 APPLICATION

AlbumentationsX is a production-grade Python library for fast, flexible image augmentation in deep learning and computer vision pipelines. It provides a comprehensive catalog of 70+ transforms covering pixel-level (blur, noise, color, weather effects), geometric (flip, rotate, crop, resize, distortion, perspective), dropout (coarse, grid, mask, pixel), mixing (mosaic, copy-paste, overlay), and domain adaptation (FDA, histogram matching, stain normalization). The library supports 2D and 3D data, including images, masks, bounding boxes (HBB and OBB), keypoints, and volumes, with seamless integration into PyTorch via tensor transforms. Its architecture is built on a clean inheritance hierarchy (BasicTransform → DualTransform/ImageOnlyTransform/Transform3D) with Pydantic-based parameter validation, serialization to JSON/YAML, and deterministic replay via ReplayCompose. The codebase is backed by an extensive test suite (property-based, regression, contract, and golden vector tests), ASV benchmarks, and a sophisticated CI/CD system with path-aware planning, performance budgets, and legal integrity checks. Telemetry (opt-out) collects anonymous usage statistics to guide development. While primarily a software library, it incorporates research-level transforms (e.g., PlanckianJitter, HEStain, dithering) and is used in both academic and production settings.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
initialcommit-com/git-sim ★ 4681 121 APPLICATION

git-sim is a CLI tool that generates visualizations of Git operations from within a local repository. It uses the Manim animation library to render commit graphs, branches, tags, and file states as either static images (JPG/PNG) or animated videos (MP4/WEBM). The architecture is built around a base class `GitSimBaseCommand` that extends Manim's `MovingCameraScene` and provides common drawing methods for commits, refs, arrows, and zone tables. Each Git subcommand (add, branch, checkout, merge, etc.) is implemented as a separate Python class that inherits from this base class and overrides the `construct()` method to build the specific scene. The CLI interface is defined using Typer, and the application reads the current Git repository state via GitPython. The animation output is handled by a dedicated `handle_animations` function that manages rendering, format conversion, and file output. The codebase is well-organized, with clean separation between command logic, animation rendering, and configuration management via Pydantic settings. It demonstrates effective use of the Manim library for non-trivial graphics and provides a robust framework for simulating Git commands.

RATING: 8.4/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
bytedeco/javacv ★ 8346 1615 APPLICATION

JavaCV is a Java wrapper library for computer vision and multimedia processing, providing bindings to OpenCV, FFmpeg, and other native libraries via JavaCPP Presets. It offers a unified abstraction layer for video capture (FrameGrabber), recording (FrameRecorder), filtering (FrameFilter), and frame conversion (FrameConverter), with concrete implementations for file, stream, camera, and depth sensor sources. The library also includes advanced computer vision capabilities such as geometric and color calibration, image alignment (Gauss-Newton), projective transformations, blob analysis, marker detection for augmented reality, and OpenCL-accelerated image processing. It is primarily a library (not a standalone application), with sample programs demonstrating real-time video streaming, face detection, object tracking, and projector-camera systems. The codebase is large and well-structured, with abstract base classes and reusable patterns, but shows signs of technical drift due to reliance on deprecated OpenCV APIs (IplImage) and legacy native SDKs. Maintenance is active, with frequent updates to keep pace with upstream library versions.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 6 reusable components found
opentrack/opentrack ★ 5210 566 APPLICATION

opentrack is a mature desktop head-tracking application (C++/Qt) that computes 6-DOF head pose from many input sources — IR point trackers, ArUco/paper markers, ONNX neural-network face pose estimation, IMU/serial devices, Wiimote, joysticks, eye trackers, and XR glasses — and streams it to games and flight simulators through output protocols such as Freetrack shared memory, TrackIR/NPClient emulation, SimConnect, UDP, X-Plane, virtual joystick (vJoy/libevdev), and a Wine/Proton bridge. The core is a plugin architecture defined in api/plugin-api.hpp (ITracker, IFilter, IProtocol) with dynamic loading, a processing pipeline (logic/pipeline.cpp) that applies axis mapping, centering, relative translation, and filtering, and a main Qt GUI (opentrack/main-window.cpp) for module selection and profile management. The application is organized as dozens of CMake-built plugin modules (tracker-*, proto-*, filter-*) around a compact core of shared infrastructure: a type-safe options/settings framework with versioned migrations, a spline-based response-curve system, cross-platform compatibility helpers (shared memory, timers, math, camera enumeration), and video abstraction. Notable strengths are the clean separation between modules, self-registering plugin macros, and genuinely reusable subsystems (spline library, UKF sigma-point header, settings framework, migration framework). Some modules are research-grade: the Alpha Spectrum adaptive filter (EMA/Brownian/predictive mixture with Rényi entropy), UKF-based deadzone filtering, and ONNX head-pose models. Weaknesses: the codebase carries significant legacy and platform fragmentation — dozens of optional SDK bindings (SimConnect, RealSense, Kinect, Tobii, SteamVR, Oculus Rift) that silently skip on missing SDKs, macOS is explicitly unmaintained, translations are largely unfinished stubs, several modules are experimental (tracker-papertracker, filter-alpha-spectrum), and some bundled third-party code (WiiYourself) has non-free terms. There are also signs of Qt6 migration in progress and mixed OpenCV version requirements. Overall this is an active, real-world, well-architected application with strong reusable components, though the long tail of legacy modules should not be mistaken for production quality.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
cirquit/trdrop ★ 499 38 APPLICATION

trdrop is a desktop application for analyzing uncompressed video files to estimate real frame rates, frame times, and detect screen tearing. Built with Qt/QML for the UI and C++/OpenCV for core processing, it supports simultaneous analysis of up to 3 videos. The application features a pipeline architecture: video capture → frame processing (difference calculation, framerate/frametime estimation, tear detection) → image conversion → composition → rendering (with configurable graphs and overlays) → export (image sequences or CSV). Key strengths include sophisticated tear detection logic that adjusts frame rate calculations for partial frame tears, clean separation between UI and processing logic, and dynamic resolution-adaptive rendering. The project is actively maintained with recent commits and a functional CI/CD pipeline for Windows builds.

RATING: 7.6/10 MAINT: maintained DRIFT: low
â–¸ 2 reusable components found
yashlamba/handwrite ★ 544 53 APPLICATION

Handwrite is a CLI application that converts a scanned handwriting sample into a TrueType font. The pipeline consists of three stages: SHEETtoPNG uses OpenCV to detect and extract individual character images from a grid-based form; PNGtoSVG uses Potrace to convert the PNG images to SVG vector outlines; and SVGtoTTF uses FontForge to compile the SVGs into a font file with configurable metrics, kerning, and bearings. The architecture is a simple sequential pipeline orchestrated by the CLI entry point. External dependencies include OpenCV, Pillow, Potrace, and FontForge. The codebase is well-structured with unit tests, CI, and modern Python packaging (uv, Python 3.14). The character detection module in `sheettopng.py` demonstrates reusable grid-based contour extraction logic.

RATING: 7.5/10 MAINT: maintained DRIFT: low
â–¸ 1 reusable components found
opencv/opencv_zoo ★ 1048 304 APPLICATION

OpenCV Zoo is a curated collection of pre-trained computer vision models optimized for OpenCV's DNN module, accompanied by inference demo scripts (Python and C++), benchmarking harness, evaluation tools, and quantization utilities. The repository serves as a practical resource for deploying models on a wide range of hardware (x86, ARM, RISC-V, NPUs) by providing ready-to-run code for tasks such as face detection/recognition, object detection, segmentation, text detection/recognition, pose estimation, and more. While primarily an application-oriented model zoo, it also includes research-grade evaluation metrics (e.g., LFW, WIDERFace) and quantization workflows, giving it a hybrid character that bridges model deployment and performance characterization. The benchmarking framework and quantization tools are the most architecturally coherent parts; model-specific demos are utilitarian but tightly coupled to their respective ONNX graphs.

RATING: 7.0/10 MAINT: maintained DRIFT: medium
â–¸ 1 reusable components found
zju3dv/EasyMocap ★ 4840 566 APPLICATION

EasyMocap is a multi-view 3D human motion capture toolbox designed for research and prototyping. It provides end-to-end pipelines from video input to 3D body mesh recovery, including camera calibration, 2D keypoint detection (via OpenPose, HRNet, MediaPipe, YOLO), multi-view association and triangulation, SMPL/SMPL-X body model fitting, and neural body rendering. The architecture is modular: a config-driven factory pattern (via YAML and `load_object`) instantiates pipeline stages (detection, triangulation, fitting, visualization), and a command-line entry point `emc` orchestrates the workflow. The repository also contains annotation tools, a real-time 3D visualization server using Open3D, and neural body research code (NeRF-based) for novel view synthesis. Despite its research character, the core pipeline is structured as a reusable application framework with separate packages for estimators, operations, and visualization. However, the codebase exhibits significant technical debt: hardcoded paths, duplicated modules (e.g., two HRNet implementations), incomplete error handling, mixed Chinese/English comments, and stale vendored dependencies (Eigen 3.3.7, pybind11). There are no unit tests, and many scripts rely on external model checkpoints that may not be accessible. The repository is actively maintained with recent commits, but the code quality reflects a fast-moving research project rather than a production-grade system.

RATING: 6.5/10 MAINT: maintained DRIFT: medium
â–¸ 4 reusable components found
BBuf/Image-processing-algorithm ★ 969 285 APPLICATION

This repository implements a wide range of image processing algorithms in C++ (with some Python components for license plate recognition). It provides functionalities including contrast enhancement, color space conversion, filtering (median, Gaussian, bilateral), feature detection (edges, corners), image interpolation, haze removal, and artistic effects similar to Photoshop. The architecture is modular with algorithms grouped by category in separate directories. Many files include main() functions allowing them to be compiled and run as standalone demonstrations. The primary external dependency is OpenCV, with some files using OpenMP for parallel processing and Intel intrinsics for AVX optimizations. The license plate recognition system integrates C++ preprocessing with TensorFlow/Keras models in Python for character recognition.

RATING: 6.1/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
── end of results ──
$ submit: