* Fri Jan 19 2024 axel.braun@gmx.de
- Add %{?sle15allpythons} and build python bindings for all
configured versions (also for Tumbleweed)
* Sat Dec 30 2023 cabelo@opensuse.org
- update to 4.9.0, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version490
Highlights of this release:
* Core Module:
+ Added cv::broadcast
+ Fixed several rounding issues on ARM platform
+ Added detection & dispatching of some modern NEON
instructions (NEON_FP16, NEON_BF16)
+ Added optimization for LoongArch 128-bit vector,
detection & dispatching of LoongArch
* DNN module patches:
+ Experimental transformers support
+ ONNX Attention layer support
+ ONNX Einsum layer support
+ OpenVINO backend for INT8 models
+ ONNX Gather Elements layer
+ ONNX InstanceNorm layer
+ Better support of ONNX Expand layer with cv::broadcast
+ Improved DNN graph fusion with shared nodes and commutative
operations
+ New fastGEMM implementation and several layers on top of it
+ Winograd fp16 optimizations on ARM
+ Tests and multiple fixes for Yolo family models support
+ New layers support and bug fixes in CUDA backend: GEMM,
Gelu, Add
+ CANN backend: bug fix, support HardSwish,
LayerNormalization and InstanceNormalization
+ LayerNormalization: support OpenVINO, OpenCL and
CUDA backend.
* G-API module:
+ Intel® OpenVINO™ DL inference backend:
- Introduced "inferenence only" ("benchmark") mode
in the OV2.0 backend.
- Fixed model layout setting issue in the OV2.0 backend.
- Fixed/relaxed various asserts in the OV2.0 backend.
+ Core and image processing functionality:
- Fluid kernels were rewritten to new universal intrinsics.
Thanks for this contribution!
+ Streaming and video functionality:
- Introduced a QueueSource: an alternative way to manually
push input frames to the G-API pipeline in the streaming
mode.
- Introduced VAS Object Tracker (OT) for the various video
analytics scenarios.
+ Python bindings:
- Exposed VAS OT in G-API Python bindings.
+ Other changes and fixes:
- Updated ADE (the G-API's graph library) to the latest
version.
- Various code clean-ups and warning fixes.
* Objdetect module:
+ Implemented own QR code decoder as replacement for QUIRC
library
+ Bug fixes in QR code encoder version estimation
+ More accurate Aruco marker corner refinement with
dynamic window
+ Fixed contour filtering in ArUco
+ QR code detection sample for Android
+ Multiple local bug fixes and documentation update for
Aruco makers, Charuco boards and QR codes.
* Video:
+ Google Summer of Code: added a new object tracking API
TrackerVit for a vision transformer-based VitTrack.
This work is done by LIU Pengyu.
* VideoIO:
+ Videoio: Add raw encoded video stream encapsulation
to cv::VideoWriter with CAP_FFMPEG
+ Fix GStreamer backend with manual pipelines.
* Calibration module:
+ Multiple fixes and improvements chess board calibration
rig detector.
+ calibrateCamera throws exception, if calibration system
is underconstrained.
+ Fixed bug in findEssentialMat with USAC
+ Fixed out-of-image access in cv::cornerSubPix
+ Fixed crash in ap3p
+ Fixed stereoRectify image boundaries
+ Fixed "use after free" issue in essential_solver.cpp
* Python Bindings:
+ Added type stub generation for missed types and manually
wrapped types.
+ Added read-only flag handling for Numpy arrays.
+ Fixed exception handling and bindings for in module.
+ Improved error messages in Numpy array type handling.
+ Fixed constructors documentation in Python.
* Platforms and hardware Support:
+ Experimental CUDA support as first class language in CMake
+ Added experimental support for Apple VisionOS platform
+ Add support Orbbec Gemini2 and Gemini2 XL camera
+ Fix fullscreen behavior on macOS
* Other:
+ OpenCV Summer of Code: semi-automated refactoring across
multiple pull requests by HAN Liutong made our CPU-optimized
code compatible with SIMD with variable vector
length (RISC-V RVV)
* Sun Oct 01 2023 stefan.bruens@rwth-aachen.de
- update to 4.8.1
* WebP security update for CVE-2023-4863
* Depthwise convolution 5x5 performance regression fix
- update to 4.8.0, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version480
Highlights of this release:
* DNN module patches:
+ TFLite models support, including int8 quantized models.
+ Enabled DNN module build without Protobuf dependency.
+ Improved layers => supported more models:
- ONNX: Layer normalization, GELU and QLinearSoftmax.
- Fixes in CANN backend:
* support ONNX Split, Slice, Clip (Relu6) and
Conv with auto_pad.
* support ONNX Sub, PRelu, ConvTranspose.
- Reduce Refactor for robustness and potential
follow-up improvements.
- Fixes for Segment Anything Model by Meta.
- Fixes in nary element wise layer about broadcast:
* Fixes in CPU.
* and Fixes in CUDA backend.
- Further increased DNN speed on ARM and X86 by improving
convolution, covering 1D and 3D cases, supporting
convolution+element-wise op fusion.
- Added full FP16 computation branch on ARMv8 platform, 1.5x
faster than FP32 (FP16 Winograd is still pending).
- Vulkan backend refactor for better performance and
robustness. It runs 4X faster than before.
- Added API blobFromImageParam to build network inputs
with pre-processings.
- Modern OpenVINO support.
* G-API module:
+ Intel® OpenVINO™ inference backend:
- Streamlined preprocessing in OpenVINO
Inference Engine (ie) API 1.0 backend. Note: this backend
will be deprecated after OpenVINO removes the API 1.0
support in its subsequent releases.
- Aligned OpenVINO IE API 1.0 backend with the latest
OpenVINO 2023.0 (as some features were removed there).
- Introduced a brand new OpenVINO API 2.0 backend.
- Implemented the required inference operations for
the OpenVINO API 2.0 backend.
+ Python bindings:
- Exposed varions normalization options for ONNX RT
backend in Python bindings.
- Exposed Fluid kernels and kernel package manipulation
functions (combine()) in Python.
- Fixed issues in Stateful Python kernel state
handling; also fixed various issues in Python tests.
- Fixed issue with opaque kernel output information
handling which broke Python custom kernels.
+ Samples:
- Introduced a new Segmentation demo with desync() to enable
slow-running networks in the real-time.
- Updated stats calculation in the G-API-based pipeline
modelling tool.
+ Other changes and fixes:
- Fixed tolerance in Fluid resize tests to avoid issues
on ARM.
- Fluid backend: extended Merge3 kernel with more
supported data types.
- Fixed standalone mode compilation issues.
* Objdetect module:
+ FaceDetectorYN upgrade for better performance,
accuracy and facial landmarks support.
+ New QR code detection algorithm based on ArUco code.
+ Bar code detector and decoder moved from Contrib to
main repository.
+ Introduced common API for all graphical codes like bar
codes and QR codes.
+ Added flag for legacy pre-4.6.0 ChAruco boards support.
+ Multiple bug fixes and improvements in QR code detection
and decoding pipelines.
+ Multiple bug fixes and improvements in ArUco based pipelines.
* Calibration module:
+ USAC framework improvements.
+ Fixed stddev estimation in camera calibration pipelines.
+ Fixed incorrect pixel grid generation in icvGetRectangles
that improves accuracy of getOptimalNewCameraMatrix,
stereoRectify and some other calibration functions.
Charuco board support in patterns generator, interactive
calibration tool and calibration samples.
* Image processing module:
+ Various fixes in line segments detector.
+ Fixed even input dimensions for INTER_NEAREST_EXACT
in resize.
+ Optimise local cost computation in
IntelligentScissorsMB::buildMap.
+ Keep inliers for linear remap with BORDER_TRANSPARENT
+ Fix distransform to work with large images.
* Features2d module:
+ SIFT accuracy improvements.
* Core module:
+ Added REDUCE_SUM2 option to cv::reduce.
+ Introduced cv::hasNonZero function.
+ Update IPP binaries update to version 20230330.
+ Improved RISC-V RVV vector extensions support.
- Support RVV v0.11 intrinsics available in LLVM 16
and GCC 13
- Support build with T-Head RISC-V toolchain
(RVV 0.7.1 and 1.0)
+ Several OpenCL vendor and version handling improvements.
* Multimedia:
+ Added AVIF support through libavif.
+ Orbbec Femto Mega cameras support.
+ HEVC/H265 support in VideoWriter with MS Media
Foundation backend.
+ Fixed FPS computation on some videos for FFmpeg backend.
+ Added support for VideoCapture CAP_PROP_AUTO_WB and
CV_CAP_PROP_WHITE_BALANCE_BLUE_U for DShow backend.
+ Fixes OBS Virtual Camera capture.
+ CV_32S encoding support with tiff.
* Python Bindings:
+ Python typing stubs.
+ Fix reference counting errors in registerNewType.
+ Fixed ChAruco and diamond boards detector bindings.
+ Added bindings to allow GpuMat and Stream objects to
be initialized from memory initialized in other libraries
+ np.float16 support.
+ Python bindings for RotatedRect, CV_MAKETYPE, CV_8UC(n).
* JavaScript bindings:
+ Added possibility for disabling inlining wasm in opencv.js
+ Extended JS bindings for Aruco, Charuco, QR codes and
bar codes.
* Other:
+ Several critical issue fixes in wechat_qrcode module
(opencv_contrib)
* Thu Dec 29 2022 stefan.bruens@rwth-aachen.de
- update to 4.7.0, highlights below, for details check
https://github.com/opencv/opencv/wiki/ChangeLog#version470
Highlights of this release:
* DNN:
+ New ONNX layers: Scatter and ScatterND, Tile, ReduceL1,
ReduceMin and more.
+ Signinficant performance optimization for convolutions.
Winograd algoritm implementation.
+ Element-wise operation (add, sub, mul, div, ...):
Broadcasting.
+ OpenVino 2022.1 support.
+ CANN backend support.
* Algorithms:
+ ArUco markers and April tags support including ChAruco and
diamond boards detection and calibration.
+ QR code detection and decoding quality imrovement. Alignment
markers support. Benchmark for QR codes: link
+ Nanotrack v2 tracker based on neural networks.
+ Stackblur algoruthm implementation.
* Multimedia:
+ FFmpeg 5.x support.
+ CUDA 12.0 support. Hardware accelerated video codecs support
on NVIDIA platforms with modern Video Codec SDK (NVCUVID and
NVENCODEAPI).
+ CV_16UC1 read/write video support with FFmpeg.
+ Orientation meta support on Mac with native media API.
+ New iterator-based API for multi-page image formats.
+ libSPNG support for PNG format.
+ SIMD acceleration for self-built libJPEG-Turbo
+ H264/H265 support on Android. Multiple fixes for video
decoder, endcoder and camera memory layout.
* G-API
+ Exposed all core APIs to Python, including stateful kernels.
* Optimization:
+ New universal intrinsics backend for scalable vector
instructions. The first scalable implementation for
RISC-V RVV 1.0.
+ DNN module patches:
- Improved layers / supported more models:
* Scatter and ScatterND #22529, Tile #22809
* Fixes in Slice (support negative step #22898)
* Support some reduce layers of ONNX #21601
- Added CANN backend support #22634. Link to the manual:
https://github.com/opencv/opencv/wiki/Huawei-CANN-Backend.
- Added bacthed NMS for multi-class object detection #22857
- Accelerating convolution, especially for ARM CPU.
- Winograd's convolution optimization
+ And many other contributions:
+ Added n-dimensional flip to core #22898
+ Add StackBlur for imgproc #20379
- Removed upstream opencv-ffmpeg5.patch
* Tue Aug 23 2022 christophe@krop.fr
- Add upstream change to fix include issue with FFmpeg 5:
* opencv-ffmpeg5.patch
* Sun Jun 19 2022 stefan.bruens@rwth-aachen.de
- 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
* Fri Apr 29 2022 stefan.bruens@rwth-aachen.de
- Add upstream patches for FFmpeg 5.0 support, add
* videoio_initial_FFmpeg_5_0_support.patch
* videoio_ffmpeg_avoid_memory_leaks.patch
* Sat Apr 09 2022 stefan.bruens@rwth-aachen.de
- 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.
* Mon Jan 10 2022 alarrosa@suse.com
- Remove the memoryperjob constraint which doesn't work as one
would expect and breaks ppc64 builds.
- Use %limit_memory -m 1700 to set the number of concurrent
jobs to a sane value and fix OOM errors when building in
workers with many cores.
- Decrease the disk constraint to 9G which seems to be enough
* Sat Dec 25 2021 stefan.bruens@rwth-aachen.de
- 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
* Wed Nov 24 2021 dmueller@suse.com
- 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
* Mon Aug 30 2021 jengelh@inai.de
- Remove dependency on IlmBase, opencv never uses this directly.
* Sat May 01 2021 stefan.bruens@rwth-aachen.de
- 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
* Thu Feb 11 2021 aloisio@gmx.com
- Enable aruco module (recognize markers to detect camera pose)
* Sat Jan 02 2021 stefan.bruens@rwth-aachen.de
- 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
* Mon Nov 02 2020 stefan.bruens@rwth-aachen.de
- Split library package, move all libraries with external
dependencies (Qt5, ffmpeg, gstreamer) into separate packages
- Move haar and LBP cascades into separate package, pull in from
objdetect and face (detect) libraries.
* Wed Oct 28 2020 stefan.bruens@rwth-aachen.de
- 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
* Sun Sep 13 2020 dmueller@suse.com
- 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)
* Thu Aug 20 2020 mliska@suse.cz
- Use memoryperjob constraint instead of %limit_build macro.
* Sat Jun 13 2020 stefan.bruens@rwth-aachen.de
- 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
Version: 3.3.1-6.6.1
* Thu Oct 17 2019 mgorse@suse.com
- Add CVE-2019-15939.patch: add input check in HOG detector
(boo#1149742 CVE-2019-15939).
* Wed Oct 16 2019 mgorse@suse.com
- Add opencv-cmake-rel-deb-info.patch: rework MAP_IMPORTED_CONFIG
to prevent unintended build failures (boo#1154091).
- Add opencv-check-macros.patch: Add "check" macros (boo#1144352
boo#1144348).
- Add CVE-2019-14491.patch: objdetect: validate feature rectangle
when reading (boo#1144352 boo#1144348 CVE-2019-14491
CVE-2019-14492).
* Mon May 21 2018 qzheng@suse.com
- Add opencv-imgproc-fix-bounds-check.patch:
make backport from commit 4ca89db to fix imgproc(hdr)
bounds check in HdrDecoder::checkSignature ( bsc#1074312,
CVE-2017-18009 ).
* Mon Jan 08 2018 tchvatal@suse.com
- Add conditionals for python2 and python3 to allow us enabling
only desired python variants when needed
- Do not depend on sphinx as py2 and py3 seem to collide there
* Sat Nov 25 2017 stefan.bruens@rwth-aachen.de
- Readd opencv-gles.patch, it is *not* included upstream; otherwise
build breaks on all GLES Qt5 platforms (armv6l, armv7l, aarch64)
- add fix_processor_detection_for_32bit_on_64bit.patch
- Correctly set optimizations and dynamic dispatch on ARM, use
OpenCV 3.3 syntax on x86.
* Mon Nov 13 2017 mpluskal@suse.com
- Update licensing information
* Wed Nov 08 2017 ecsos@opensuse.org
- change requires of python-numpy-devel to build in Leap and
to not break factory in future
* Sat Nov 04 2017 ecsos@opensuse.org
- fix build error/unresolvable for Leap 42.2 and 42.3
* Fri Nov 03 2017 mpluskal@suse.com
- Update to version 3.3.1:
* Lots of various bugfixes
- Update source url
* Thu Nov 02 2017 mpluskal@suse.com
- Rename python subpackage to python2
- Do not explicitly require python-base for python subpackages
* Mon Oct 09 2017 kah0922@gmail.com
- Update to 3.3
- Dropped obsolete patches
* opencv-gcc6-fix-pch-support-PR8345.patch
* opencv-gles.patch
- Updated opencv-build-compare.patch
* Sat Jul 15 2017 stefan.bruens@rwth-aachen.de
- Add 0001-Do-not-include-glx.h-when-using-GLES.patch
Fix build for 32bit ARM, including both GLES and desktop GL headers
causes incompatible pointer type errors
* Mon Jun 05 2017 tchvatal@suse.com
- Add conditional for the qt5/qt4 integration
* This is used only for gui tools, library is not affected
- Add provides/obsoletes for the qt5 packages to allow migration
- Drop patch opencv-qt5-sobump.diff
* Used only by the obsoleted qt5 variant
* Mon Jun 05 2017 tchvatal@suse.com
- Cleanup a bit with spec-cleaner
- Use %cmake macros
- Remove the conditions that are not really needed
- Add tests conditional disabled by default
* Many tests fail and there are missing testdata
- Switch to pkgconfig style dependencies
* Sun May 28 2017 stefan.bruens@rwth-aachen.de
- Update to OpenCV 3.2.0
- Results from 11 GSoC 2016 projects have been submitted to the library:
+ sinusoidal patterns for structured light and phase unwrapping module
[Ambroise Moreau (Delia Passalacqua)]
+ DIS optical flow (excellent dense optical flow algorithm that is both
significantly better and significantly faster than Farneback?s algorithm ?
our baseline), and learning-based color constancy algorithms implementation
[Alexander Bokov (Maksim Shabunin)]
+ CNN based tracking algorithm (GOTURN) [Tyan Vladimir (Antonella Cascitelli)]
+ PCAFlow and Global Patch Collider algorithms implementation
[Vladislav Samsonov (Ethan Rublee)]
+ Multi-language OpenCV Tutorials in Python, C++ and Java
[João Cartucho (Vincent Rabaud)]
+ New camera model and parallel processing for stitching pipeline
[Jiri Horner (Bo Li)]
+ Optimizations and improvements of dnn module
[Vitaliy Lyudvichenko (Anatoly Baksheev)]
+ Base64 and JSON support for file storage. Use names like
?myfilestorage.xml?base64? when writing file storage to store big chunks of
numerical data in base64-encoded form. [Iric Wu (Vadim Pisarevsky)]
+ tiny_dnn improvements and integration
[Edgar Riba (Manuele Tamburrano, Stefano Fabri)]
+ Quantization and semantic saliency detection with tiny_dnn
[Yida Wang (Manuele Tamburrano, Stefano Fabri)]
+ Word-spotting CNN based algorithm
[Anguelos Nicolaou (Lluis Gomez)]
- Contributions besides GSoC:
+ Greatly improved and accelerated dnn module in opencv_contrib:
- Many new layers, including deconvolution, LSTM etc.
- Support for semantic segmentation and SSD networks with samples.
- TensorFlow importer + sample that runs Inception net by Google.
+ More image formats and camera backends supported
+ Interactive camera calibration app
+ Multiple algorithms implemented in opencv_contrib
+ Supported latest OSes, including Ubuntu 16.04 LTS and OSX 10.12
+ Lot?s of optimizations for IA and ARM archs using parallelism, vector
instructions and new OpenCL kernels.
+ OpenCV now can use vendor-provided OpenVX and LAPACK/BLAS (including Intel MKL,
Apple?s Accelerate, OpenBLAS and Atlas) for acceleration
- Refreshed opencv-build-compare.patch
- Dropped upstream opencv-gcc5.patch
- Replace opencv-gcc6-disable-pch.patch with upstream patch
opencv-gcc6-fix-pch-support-PR8345.patch
- Enable TBB support (C++ threading library)
- Add dependency on openBLAS
* Thu Jul 21 2016 olaf@aepfle.de
- Enable ffmpeg support unconditional
* Tue Jun 07 2016 dimstar@opensuse.org
- In case we build using GCC6 (or newer), add -mlra to CFLAGS to
workaround gcc bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71294.
* Wed May 25 2016 martin.liska@suse.com
- Apply upstream patch opencv-gcc6-disable-pch.patch to disable
PCH for GCC6.
* Mon Mar 21 2016 toddrme2178@gmail.com
- Test for python versions greater than or equal to the current
version.
* Wed Mar 09 2016 toddrme2178@gmail.com
- Add python 3 support