How opencv is put together
OpenCV 5.x is the main repository of the Open Source Computer Vision Library: a large C/C++ core organized as pluggable modules under modules/, built via an extensive CMake super-build that detects optional accelerators (CUDA, Vulkan, OpenCL, IPP, TBB) and GUI/media frameworks. The repo also ships Python utility applications under apps/ (calibration tooling, pattern generation), language bindings and packaging targets (Java/Maven under platforms/maven, Android AAR Gradle template, JS perf harness under modules/js/perf), and Sphinx-based documentation (docs_sphinx). Data flow is primarily in-process: images/arrays enter through module APIs or the Python cv2 bindings and are processed by native kernels; third-party codecs are vendored under 3rdparty/. There are no network services or datastores in this repository.
Languages
Frameworks
Infrastructure
Major components
Core C++ modules tree (modules/)
The main computer-vision library split into per-module directories built by cmake/OpenCVModule.cmake.
Build/detection layer (cmake/)
Dozens of Find/Detect scripts that locate optional dependencies (CUDA, cuDNN, Vulkan, OpenCL, TBB, IPP, protobuf, VTK, WebNN, DirectML, LAPACK/MKL/OpenBLAS) and generate config/pkg-config/ABI artifacts.
Vendored third-party libraries (3rdparty/)
Bundled copies of libpng, libjpeg-turbo, libjasper, cpufeatures, plus cmake-driven fetch/build glue for ffmpeg, flatbuffers, harfbuzz, ippicv, ittnotify, dlpack, clapack, fastcv.
Python applications (apps/)
Standalone calibration/pattern utilities (chromatic-aberration-calibration, multiview-calibration, pattern-tools) driven by argparse CLIs over cv2/numpy/scipy/matplotlib.
Python test harness (apps/python_app_test.py + modules/python/test)
unittest-based discovery runner that locates test packages from cwd, app dir, and opencv_apps_python_tests.cfg, filterable via OPENCV_APPS_TEST_FILTER.
Language binding packaging (platforms/)
Maven parent POM producing org.opencv:opencv-parent 5.0.0 wrapping libopencv_java JNI library, and a Gradle Android library (AAR) template using AGP 8.6.0/Kotlin 1.8.20.
JavaScript bindings support (modules/js/perf)
Benchmark.js-based performance test harness for the OpenCV.js bindings.
Documentation (docs_sphinx/)
Sphinx 8 site with Breathe/Exhale C++ API ingestion, MyST markdown, pydata theme, and fully pinned Python requirements.
A quieter week of merges, wrapping up an image decoder layer, test cleanups, and documentation fixes.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quieter week of merges, wrapping up an image decoder layer, test cleanups, and documentation fixes.
Week of 2026-08-17
A busy week combining crash fixes on empty data, RISC-V speedups, ONNX coverage, and broad warning cleanup.
Week of 2026-08-10
Boolean mask support rolled out across many image-processing features, plus new XFeat keypoints and AMD GEMM speedups.
Week of 2026-08-03
RISC-V pooling and depthwise convolution HALs advanced, boolean masks extended further, and several correctness bugs squashed.
Week of 2026-07-27
The largest week, dominated by RISC-V dnn acceleration hooks, CUDA engine refactoring, and a batch of out-of-bounds safety fixes.
Over the past month, OpenCV development focused heavily on making the deep learning (dnn) module faster and more robust, including new RISC-V vectorized kernels for convolution and pooling, CUDA and LSTM optimizations, and better ONNX compatibility. Alongside that, contributors fixed a wave of memory-safety bugs (out-of-bounds reads, pointer overflows, crashes on empty inputs) and expanded support for boolean masks across image-processing functions. Housekeeping work also continued, with test suite cleanups, compiler warning fixes, and documentation improvements.
Week by week
2026-08-24A quieter week of merges, wrapping up an image decoder layer, test cleanups, and documentation fixes.latest6 changes
Feature
Image decoder layer merged
A new image decoder layer for the dnn module was merged into the codebase.
Chore
Feature-detection test cleanup
Tests for feature detection were tidied up as part of an ongoing test-suite cleanup effort.
Fix
Compiler warning fix in public header
Floating-point conversion warnings from Clang were silenced in a public header file.
Chore
AlexNet memory usage reduced
The AlexNet neural network test was adjusted to use less peak memory during runs.
Refactor
Warp functions re-enabled
Intel-contributed warp perspective optimizations were re-enabled after earlier issues were resolved.
Docs
Documentation typo fixes
Typos were corrected in tutorials and reference documentation, including clearer UMat docs.
2026-08-17A busy week combining crash fixes on empty data, RISC-V speedups, ONNX coverage, and broad warning cleanup.6 changes
Fix
Crash fixes for empty matrices
Operations like min and kd-tree searches no longer crash or misbehave when given empty input data.
Refactor
RISC-V normalization speedup
Fast normalization routines were added for RISC-V processors to speed up math operations.
Feature
KV-cache engine for dnn
A key-value cache engine landed in the deep learning module, improving handling of model reinitialization.
Fix
ONNX Cast semantics preserved
Type-cast behavior is now correctly preserved when models use Cast nodes after Mul or Gather operations.
Chore
Compiler warning cleanup
Numerous Clang warnings (extra semicolons, float conversions) were fixed across the codebase.
Docs
CUDA UMat documentation
New documentation explains how the CUDA UMat memory allocator works and its API constraints.
2026-08-10Boolean mask support rolled out across many image-processing features, plus new XFeat keypoints and AMD GEMM speedups.6 changes
Feature
XFeat feature detection added
A new lightweight XFeat keypoint detector was integrated into the features module.
Feature
Boolean masks everywhere
Functions like template matching, ECC alignment, inpainting, and Hough lines now accept simple boolean masks.
Refactor
AMD fast matrix multiply
AMD contributed a SIMD-optimized fast GEMM routine to accelerate core matrix math.
Fix
High-channel array fix
Fixed a silent loss of dimensions when working with arrays that have many color channels.
Refactor
LSTM optimization
Recurrent LSTM layer computations in the dnn module were made faster.
Docs
HoughLinesP doc correction
Documentation for probabilistic Hough line detection now correctly describes output shapes.
2026-08-03RISC-V pooling and depthwise convolution HALs advanced, boolean masks extended further, and several correctness bugs squashed.6 changes
Refactor
RISC-V pooling kernels
Hardware-accelerated max and average pooling kernels were added for RISC-V processors.
Refactor
RISC-V depthwise convolution
Depthwise convolution got a hardware-accelerated implementation plus a fast path for wide vector units.
Fix
MSER region detection fix
Fixed a bug where stable regions were incorrectly discarded by the MSER blob detector due to a diversity threshold issue.
Fix
ueye camera gain clamped
Camera gain settings for ueye devices are now limited to the manufacturer's documented 0-100 range.
Fix
Python dtype mapping fix
Fixed handling of 64-bit integers and bfloat16 types when converting between Python and OpenCV.
Chore
Test skip list shared with Python
The list of skipped tests was extracted into a shared file so Python-based CI uses the same deny list.
2026-07-27The largest week, dominated by RISC-V dnn acceleration hooks, CUDA engine refactoring, and a batch of out-of-bounds safety fixes.6 changes
Refactor
RISC-V dnn acceleration framework
New hardware-replacement hooks were added so convolution and pooling can run on optimized RISC-V kernels.
Refactor
CUDA engine dispatch rework
The classic engine class was disabled in favor of a unified OpenCV engine with improved CUDA layer dispatch and UMat optimizations.
Fix
Out-of-bounds read fixes
Fixed memory-safety bugs in stylization filters, domain filtering, and 16-bit image conversion helpers.
Fix
In-place extractChannel restored
Restored the ability to modify a matrix channel in place without errors or pointer overflow.
Feature
Point cloud visualization sample
A new viz3d sample shows how to load and display 3D point clouds, building even without OpenGL.
Fix
GTK3 depth buffer enabled
OpenGL windows using GTK3 now have a depth buffer so 3D depth testing works correctly.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required