- update to 4.6.0, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version460
* OpenCV project infrastructure migrating on GitHub Actions
workflows for CI and release purposes
* Added support for GCC 12, Clang 15
* Added support for FFmpeg 5.0
* DNN module patches:
+ Improved layers / activations / supported more models:
- LSTM (+CUDA), resize (+ONNX13), Sign, Shrink, Reciprocal,
depth2space, space2depth
- fixes in Reduce, Slice, Expand
+ Disabled floating-point denormals processing #21521
+ Changed layer names in ONNX importer to support "output"
entities properly
+ Added TIM-VX NPU backend support:
https://github.com/opencv/opencv/wiki/TIM-VX-Backend-For-Running-OpenCV-On-NPU
+ Added Softmax parameter to ClassificationModel
+ Added audio speech recognition sample (C++) #21458
+ Intel® Inference Engine backend (OpenVINO):
- added initial support for OpenVINO 2022.1 release
- removed support of legacy API (dropped since 2020.3)
* G-API module:
+ G-API framework:
- Introduced a Grayscale image format support for
cv::MediaFrame: #21511;
- Enabeled .reshape() support in the CPU backend: #21669;
- Fixed possible hang in streaming execution mode with constant
inputs: #21567;
- Introduced proper error/exception propagation in the
asynchronous streaming execution mode: #21660;
- Fixed new stream event handling: #21731.
+ Fluid backend:
- Fixed horizontal pass in the Resize kernel, fixed Valgrind
issues: #21144;
- Extended Resize kernel with F32 version: #21678,
added AVX: #21728.
- Enabled dynamic dispatch for Split4 kernel: #21520;
- Enabled dynamic dispatch for Merge3 kernel: #21529;
- Added a SIMD version for DivC kernel: #21474;
- Added a SIMD version for DivRC kernel: #21530;
- Enabled dynamic dispatch for Add kernel: #21686;
- Enabled dynamic dispatch for Sub kernel: #21746;
- Added a SIMD version for ConvertTo kernel: #21777;
- Fixed kernel matrix size for Sobel kernel: #21613.
+ Intel® OpenVINO™ inference backend:
- Fixed NV12 format support for remote memory when OpenVINO
remote context is used: #21424.
- Implemented correct error handling in the backend: #21579.
- Fixed ngraph warnings #21362.
+ OpenCV AI Kit backend:
- Introduced a new backend to program OpenCV AI Kit boards via
G-API. Currently the backend is in experimental state, but allows
to build Camera+NN pipeline and supports heterogeneity (mixing
with host-side code): #20785, #21504.
+ Media integration:
- Enabled GPU inference with oneVPL and DirectX11 on Windows in
Intel OpenVINO inference backend: #21232, #21618, #21658, #21687,
#21688. Now GPU textures decoded by oneVPL decoder can be
preprocessed and inferred on GPU with no extra host processing.
- Enabled oneVPL support on Linux: #21883.
- Extended GStreamer pipeline source with Grayscale image format
support: #21560.
+ Python bindings:
- Exposed GStreamer pipeline source in Python bindings: #20832.
- Fixed Python bindings for CudaBufferPool, cudacodec and cudastereo
modules in OpenCV Contrib.
+ Samples:
- Introduced a pipeline modelling tool for cascaded model
benchmarking: #21477, #21636, #21719. The tool supports a
declarative YAML-based config to describe pipelines with simulated
pre-/post-processing. The tool collects and reports latency and
throughput information for the modelled pipeline.
+ Other changes and fixes:
- Moved GKernelPackage into cv:: namespace by default, its cv::gapi::
alias remain for compatibility: #21318;
- Moved Resize kernel from core to imgproc kernel packages for
CPU, OpenCL, and Fluid backends: #21157. Also moved tests
appropriately: #21475;
- Avoided sporadic test failures in DivC: #21626;
- Fixed 1D Mat handling in the framework: #21782;
- Reduced the number of G-API generated accuracy tests: #21909.
- Drop upstream patches:
* 0001-highgui-Fix-unresolved-OpenGL-functions-for-Qt-backe.patch
* videoio_initial_FFmpeg_5_0_support.patch
* videoio_ffmpeg_avoid_memory_leaks.patch
OBS-URL: https://build.opensuse.org/request/show/983700
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=33
- Add upstream patches for FFmpeg 5.0 support, add
* videoio_initial_FFmpeg_5_0_support.patch
* videoio_ffmpeg_avoid_memory_leaks.patch
- Restore memoryperjob constraint, avoid being scheduled on a 16
core system and use less than half of it.
- Adjust %limit_build to 1800, to avoid recurrent build failures
on aarch64. (People should not care for their pet architecture
only, but also carefully check if they break others.)
- Add missing libopencv_aruco dependency in devel package.
OBS-URL: https://build.opensuse.org/request/show/973972
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=32
- update to 4.5.5, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version455
* Audio support as part of VideoCapture API: GStreamer #21264
* Updated SOVERSION handling rules: #21178
* DNN module patches:
+ Added tests to cover ONNX conformance test suite: #21088
+ Improved layers / activations / supported more models
+ Upgraded builtin protobuf from 3.5.2 to 3.19.1
+ More optimizations for RISC-V platform
+ Intel® Inference Engine backend ( OpenVINO™ ):
added support for OpenVINO 2021.4.2 LTS release
* G-API module:
+ G-API framework:
- Fixed issue with accessing 1D data from cv::RMat: #21103
- Restricted passing the G-API types to graph inputs/outputs
for execution: #21041
- Various fixes in G-API Doxygen reference: #20924
- Renamed various internal structures for consistency #20836#21040
+ Fluid backend:
- Introduced a better vectorized version of Resize: #20664.
- Added vectorized version of Multiply kernel: #21024
- Added vectorized version of Divide kernel: #20914
- Added vectorized version of AddC kernel: #21119
- Added vectorized version of SubC kernel: #21158
- Added vectorized version of MulC kernel: #21177
- Added vectorized version of SubRC kernel: #21231
- Enabled SIMD dispatching for AbsDiffC: #21204
+ OpenCL backend:
- Fixed sporadic test failures in Multiply kernel running
on GPU: #21205
+ Intel® OpenVINO™ inference backend:
- Extended ie::Params to support static batch size as input
to inference: #20856
- Enabled 2D input tensor support in IE backend: #20925
- Fixed various issues with imported (pre-compiled)
networks: #20918
+ Media integration:
- Introduced a GStreamer-based pipeline source for
G-API: #20709
- Completed the integration of Intel® oneVPL as a pipeline
source for G-API #20773 with device selection #20738,
asynchronous execution #20901, intial demux support #21022,
and GPU-side memory allocation via DirectX 11 #21049.
+ Samples:
- Replaced custom kernels with now-standard G-API operations
in several samples #21106
- Moved API snippets from G-API samples to a dedicated
place #20857
+ Other changes and fixes:
- Fixed various static analysis issues for OpenVINO 2021.4
release: #21083 and #21212
- Fixed various build warnings introduced after OpenVINO
update: #20937
- Continued clean-up in the G-API test suite on GTest macros
#20922 and test data #20995
- Added custom accuracy comparison functions to Fluid
performance tests: #21150.
* And many other contributions:
+ Added QRcode encoder: #17889
+ GSoC - OpenCV.js: Accelerate OpenCV.js DNN via WebNN: #20406
+ Add conventional Bayer naming: #20970
+ (opencv_contrib) Add Radon transform function to ximgproc: #3090
+ (opencv_contrib) New superpixel algorithm (F-DBSCAN): #3093
+ Created Stitching Tool: #21020
+ Improve CCL with new algorithms and tests: #21275
+ (opencv_contrib) Update ArUco tutorial: #3126
- Adjust memory constraints (mostly required for aarch64 on Leap)
- Add 0001-highgui-Fix-unresolved-OpenGL-functions-for-Qt-backe.patch
OBS-URL: https://build.opensuse.org/request/show/942495
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=28
- update to 4.5.4:
* 8-bit quantization in the dnn module
* Improved Julia bindings
* Speech recognition sample
* dnn module optimizations for RISC-V
* Tutorial about universal intrinsics and parallel_for usage
* Improvements in the dnn module:
- New layers and models support
- Some existing layers have been fixed
- Soft-NMS implementation
- Supported OpenVINO 2021.4.1 LTS release
OBS-URL: https://build.opensuse.org/request/show/933593
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=27
- update to 4.5.2, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version452
* core: added support for parallel backends.
* imgproc: added IntelligentScissors implementation (JS demo).
* videoio: improved hardware-accelerated video de-/encoding tasks.
* DNN module:
+ Improved debugging of TensorFlow parsing errors: #19220
+ Improved layers / activations / supported more models:
- optimized: NMS processing, DetectionOutput
- fixed: Div with constant, MatMul, Reshape
(TensorFlow behaviour)
- added support: Mish ONNX subgraph, NormalizeL2 (ONNX),
LeakyReLU (TensorFlow), TanH + SAM (Darknet), Exp
+ Intel® Inference Engine backend ( OpenVINO™ ):
added support for OpenVINO 2021.3 release
* G-API module:
+ Python support:
- Introduced a new Python backend - now G-API can run custom
kernels written in Python as part of the pipeline: #19351
- Extended Inference support in the G-API bindings: #19318
- Added more graph data types in the G-API bindings: #19319
+ Inference support:
- Introduced dynamic input / CNN reshape functionality in the
OpenVINO inference backend #18240
- Introduced asynchronous execution support in the OpenVINO
inference backend, now it can run in multiple parallel
requests to increase stream density/throughput: #19487, #19425
- Extended supported data types with INT64/INT32 in ONNX
inference backend and with INT32 in the OpenVINO inference
backend #19792
- Introduced cv::GFrame / cv::MediaFrame and constant support
in the ONNX backend: #19070
+ Media support:
- Introduced cv::GFrame / cv::MediaFrame support in the
drawing/rendering interface: #19516
- Introduced multi-stream input support in Streaming mode
and frame synchronization policies to support cases like
Stereo: #19731
- Added Y and UV operations to access NV12 data of cv::GFrame
at the graph level; conversions are done on-the-fly if the
media format is different: #19325
+ Operations and kernels:
- Added performance tests for new operations (MorphologyEx,
BoundingRect, FitLine, FindContours, KMeans, Kalman,
BackgroundSubtractor)
- Fixed RMat input support in the PlaidML backend: #19782
- Added ARM NEON optimizations for Fluid AbsDiffC, AddWeighted,
and bitwise operations: #18466, #19233
- Other various static analysis and warning fixes
+ Documentation:
- [GSoC] Added TF/PyTorch classification conversion: #17604
- [GSoC] Added TF/PyTorch segmentation conversion: #17801
- [GSoC] Added TF/PyTorch detection model conversion: #18237
- Updated documentation to address Wide Universal Intrinsics
(WUI) SIMD API: #18952
+ And many other great contributions from OpenCV community:
- core: cuda::Stream constructor with stream flags: #19286
- highgui: pollKey() implementation for w32 backend: #19411
- imgcodecs: Added Exif parsing for PNG: #19439
- imgcodecs: OpenEXR compression options: #19540
- imgproc: connectedComponents optimizations: (Spaghetti
Labeling): #19631
- videoio: Android NDK camera support #19597
- (contrib) WeChat QRCode module open source: #2821
- (contrib) Implemented cv::cuda::inRange(): #2803
- (contrib) Added algorithms from Edge Drawing Library: #2313
- (contrib) Added Python bindings for Viz module: #2882
- Add libva build dependency for HW accelerated videoio
- Slight bump for memory constraints
OBS-URL: https://build.opensuse.org/request/show/889708
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=25
- update to 4.5.1, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version451
* Continued merging of GSoC 2020 results:
+ Develop OpenCV.js DNN modules for promising web use cases
together with their tutorials
+ OpenCV.js: WASM SIMD optimization 2.0
+ High Level API and Samples for Scene Text Detection and
Recognition
+ SIFT: SIMD optimization of GaussianBlur 16U
* DNN module:
+ Improved layers / activations / supported more models:
- optimized: 1D convolution, 1D pool
- fixed: Resize, ReduceMean, Gather with multiple outputs,
importing of Faster RCNN ONNX model
- added support: INT32 ONNX tensors
+ Intel® Inference Engine backend (OpenVINO):
- added support for OpenVINO 2021.2 release
- added preview support for HDDL
+ Fixes and optimizations in DNN CUDA backend (thanks to
@YashasSamaga)
* G-API Framework:
+ Introduced serialization for cv::RMat, including
serialization for user-defined memory adapters
+ Introduced desync, a new Operation for in-graph asynchronous
execution - to allow different parts of the graph run with
a different latency
+ Introduced a notion of "in-graph metadata", now various
media-related information can be accessed in graph directly
(currently only limited to timestamps and frame IDs)
+ Introduced a new generic task-based executor, based on
Threading Building Blocks (TBB)
+ Extended infer<>() API to accept a new cv::GFrame data
structure to allow handling of various media formats without
changes in the graph structure
+ Made copy() an intrinsic where real copy may not happen
(optimized out) based on graph structure, extended it to
support cv::GFrame
+ Various fixes, including addressig static analysis,
documentation, and test issues
* G-API Operations:
+ Introduced new operations morphologyEx, boundingRect,
fitLine, kmeans, Background Subtractor, Kalman filter
* G-API Intel® Inference Engine backend (OpenVINO):
+ Extended cv::gapi::ie::Params<> to import CNN networks (e.g.
pre-compiled ones) instead of passing .XML and .BIN files;
also enabled configuring Inference Engine plugins via
this structure
+ Added a new overload to infer<>() to run inference over a
single region of interest
+ Added support for cv::MediaFrame input data type (projected
from cv::GFrame) and handling for NV12 input image format
* G-API Python bindings:
+ Exposed G-API's Inference and Streaming APIs in the OpenCV
Python bindings
+ Added initial Python support for cv::GArray data structure
* Significant progress on RISC-V port.
- Updated constraints, bump memory to 5 GB
- Cleaned up spec file
OBS-URL: https://build.opensuse.org/request/show/860308
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=23
- update to 4.5.0, see
https://github.com/opencv/opencv/wiki/ChangeLog#version450
for details, highlights:
* OpenCV license has been changed to Apache 2 (OpenCV 3.x will
keep using BSD)
* GSoC is over, all projects were success and most of them have
already been merged. Optimizations for RISC-V, bindings for
Julia language, real-time single object tracking, improved SIFT
and others
* OpenJPEG is now used by default for JPEG2000
* Supported multiple OpenCL contexts
* Improvements in dnn module:
+ Support latest OpenVINO 2021.1 release
+ Tengine lite support for inference on ARM
+ Many fixes and optimizations in CUDA backend
* Added Python bindings for G-API module
* Multiple fixes and improvements in flann module
* Added Robot-World/Hand-Eye calibration function
OBS-URL: https://build.opensuse.org/request/show/844683
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=20
- update to 4.4.0:
* SIFT (Scale-Invariant Feature Transform) algorithm has been
moved to the main repository (patent on SIFT is expired)
* DNN module:
* State-of-art Yolo v4 Detector: #17148.
* onnx: Add support for Resnet_backbone
* EfficientDet models
* add text recognition sample / demo
* FlowNet2 optical flow
* Intel Inference Engine backend
* added support for OpenVINO 2020.3 LTS / 2020.4 releases
* support of NN Builder API is planned for removal in the next release
* Many fixes and optimizations in CUDA backend
* Obj-C / Swift bindings: #17165
* Julia bindings as part of ongoing GSoC project
* BIMEF: A Bio-Inspired Multi-Exposure Fusion Framework for Low-light Image Enhancement
* Enable Otsu thresholding for CV_16UC1 images
* Add Stroke Width Transform algorithm for Text Detection
* Planned migration on Apache 2 license for next releases
- remove opencv-includedir.patch (obsolete)
OBS-URL: https://build.opensuse.org/request/show/834138
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=18
- Update to 4.3.0
* DNN module:
+ Improved layers / activations / supported more models:
- ONNX: LSTM, Broadcasting, Algebra over constants, Slice with
multiple inputs
- DarkNet: grouped convolutions, sigmoid, swish, scale_channels
- MobileNet-SSD v3: #16760
+ New samples / demos:
- Clothes parts segmentation and CP-VTON
- DaSiamRPN tracker
Intel® Inference Engine backend (OpenVINO™):
- added support for custom layers through nGraph OpenVINO
API: #16628
- nGraph OpenVINO API is used by default: #16746
+ Many fixes and optimizations in CUDA backend (thanks to
@YashasSamaga)
+ OPEN AI LAB team submitted the patch that accelerates OpenCV
DNN on ARM using their Tengine library
* G-API module:
+ Introduced a new graph-level data type GOpaque<T>. This type
can be used to pass arbitrary user data types between G-API
nodes in the graph (supported for CPU/OpenCV backend only).
+ Introduced a way to declare G-API CPU (OpenCV) kernels in-place
+ Added a new sample "Privacy masking camera", combining Deep
Learning with traditional Image Processing (link)
+ Added more operations in the default library: WarpAffine,
WarpPerspective, NV12toGray.
* Performance improvements:
+ IPP-ICV library with CPU optimizations has been updated to
version 2020.0.0 Gold
+ SIMD intrinsics: integral, resize, (opencv_contrib) RLOF
implementation #2476
* And many other great contributions from OpenCV community:
+ (opencv_contrib) Computer Vision based Alpha Matting
(GSoC 2019) #2306
+ calib3d: findChessboardCornersSB improvements: #16625
+ calib3d: updated documentation for RT matrices: #16860
+ core: improved getNumberOfCPUs(): #16268
+ imgproc: new algorithm HOUGH_GRADIENT_ALT is added to
HoughCircles() function #16561. It has much better recall
and precision
+ imgcodecs: added initial support for OpenJPEG library
(version 2+): #16494
+ highgui(Qt): added Copy to clipboard: #16677
+ dnn: TensorFlow, Darknet and ONNX importers improvements
by @ashishkrshrivastava
+ (opencv_contrib) added rapid module for silhouette based 3D
object tracking: #2356
+ (opencv_contrib) SIFT detector is enabled by default due
patents expiration (without requirement of NONFREE build
option)
+ help materials: OpenCV Cheat Sheet in Python: #4875
* Changes that can potentially break compatibility:
+ image filtering functions throws exception on empty input
(voting results)
- Packaging changes:
* Stop mangling CMake diagnostic output, no dependency versions
end up in the packages anyway, drop opencv-build-compare.patch
* Set empty OPENCV_DOWNLOAD_TRIES_LIST, skip downloads even when
network is available during builds (e.g. local build).
* Drop upstream GLES patches:
+ 0001-Do-not-include-glx.h-when-using-GLES.patch
+ opencv-gles.patch
OBS-URL: https://build.opensuse.org/request/show/814492
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=15
- Update to 4.2.0
* DNN module:
+ Integrated GSoC project with CUDA backend: #14827
+ Intel® Inference Engine backend ( OpenVINO™ ):
- support for nGraph OpenVINO API (preview / experimental): #15537
* G-API module:
+ Enabled in-graph inference: #15090. Now G-API can express more
complex hybrid CV/DL algorithms;
- Intel® Inference Engine backend is the only available now,
support for DNN module will be added in the future releases.
+ Extended execution model with streaming support: #15216. Decoding,
image processing, inference, and post-processing are now pipelined
efficiently when processing a video stream with G-API.
+ Added tutorials covering these new features: Face analytics
pipeline and a sample Face beautification algorithm.
* Performance improvements:
+ SIMD intrinsics: StereoBM/StereoSGBM algorithms, resize, integral,
flip, accumulate with mask, HOG, demosaic, moments
+ Muti-threading: pyrDown
* And many other great patches from OpenCV community:
+ VideoCapture: video stream extraction (demuxing) through
FFmpeg backend.
+ VideoCapture: waitAny() API for camera input multiplexing
(Video4Linux through poll() calls).
+ (opencv_contrib) new algorithm Rapid Frequency Selective
Reconstruction (FSR): #2296 + tutorial.
+ (opencv_contrib) RIC method for sparse match interpolation: #2367.
+ (opencv_contrib) LOGOS features matching strategy: #2383.
* Breaking changes:
+ Disabled constructors for legacy C API structures.
+ Implementation of Thread Local Storage (TLS) has been improved to
release data from terminated threads. API has been changed.
+ Don't define unsafe CV_XADD implementation by default.
+ Python conversion rules of passed arguments will be updated in
next releases: #15915.
OBS-URL: https://build.opensuse.org/request/show/759190
OBS-URL: https://build.opensuse.org/package/show/science/opencv?expand=0&rev=10