Updated OpenCV Change Logs (markdown)

Alexander Smorkalov
2025-01-09 12:38:14 +03:00
parent 3fbc997f5f
commit c292020c8a

@@ -5,141 +5,144 @@ Previous Change Logs:
version:4.11.0
--------------
*December, 2024*
*January, 2025*
New Year update for OpenCV 4.x has been released.
- Generic:
- RISC-V/AArch64: disable CPU features detection #25901
- Support C++20 standard #26590
- Internal C API cleanup and back-ports for 5.x.
- RISC-V/AArch64: disable CPU features detection [#25901](https://github.com/opencv/opencv/issues/25901)
- Support C++20 standard [#26590](https://github.com/opencv/opencv/issues/26590)
- algoHint parameter for some functions to allow potentially faster, but not bit-exact implementation
- Core Module:
- Extended LUT for FP16 support #25787.
- Multiple Eigen library interop improvements #25751.
- Fixed stdDev tail filling with zeros with HAL in meanStdDev #25789.
- Marked cv::Mat(Mat&&) as noexcept #25899
- Fixed invalid attribute value handling in FileStorage #25955.
- Set and check allocator pointer for all cv::Mat instances #25979
- Improved accuracy of Rect::contains #26022
- Fixed result offset in minMaxIdx with HAL in some cases #26080
- Replace C++ operators with wrapper functions on universal intrinsics backends #26109
- Extended cv::TickMeter #26212
- Rewrote OpenCL-OpenGL-interop device discovery routine without extensions and with Apple support #26281
- Added int64 data type support for FileStorage #26434
- Added int64 data type support for FileStorage [#26434](https://github.com/opencv/opencv/issues/26434)
- Fixed invalid attribute value handling in FileStorage [#25955](https://github.com/opencv/opencv/issues/25955).
- Extended LUT for FP16 support [#25787](https://github.com/opencv/opencv/issues/25787).
- Fixed stdDev tail filling with zeros with HAL in meanStdDev [#25789](https://github.com/opencv/opencv/issues/25789).
- Set and check allocator pointer for all cv::Mat instances [#25979](https://github.com/opencv/opencv/issues/25979)
- Improved accuracy of Rect::contains [#26022](https://github.com/opencv/opencv/issues/26022)
- Fixed result offset in minMaxIdx with HAL in some cases [#26080](https://github.com/opencv/opencv/issues/26080)
- Replaced C++ operators with wrapper functions on universal intrinsics backends [#26109](https://github.com/opencv/opencv/issues/26109)
- Extended cv::TickMeter [#26212](https://github.com/opencv/opencv/issues/26212)
- Rewrote OpenCL-OpenGL-interop device discovery routine without extensions and with Apple support [#26281](https://github.com/opencv/opencv/issues/26281)
- Marked cv::Mat(Mat&&) as noexcept [#25899](https://github.com/opencv/opencv/issues/25899)
- Multiple Eigen library interop improvements [#25751](https://github.com/opencv/opencv/issues/25751).
- Calib3d module:
- Multiple chessboard detector improvements #25427, #25807, #25991, 26014
- Enable checkerboard detection with a central / corner marker on a black tile #25808
- Fixed Rodrigues CV_32F and CV_64F type mismatch in projectPoints #25824
- Added fisheye::distort with non-identity projection matrix #25943
- SQPnP solver updates #26219
- calib3d: fix vector access in USAC #26530
- Multiple chessboard detector improvements [#25427](https://github.com/opencv/opencv/issues/25427), [#25807](https://github.com/opencv/opencv/issues/25807), [#25991](https://github.com/opencv/opencv/issues/25991), [#26014](https://github.com/opencv/opencv/issues/26014)
- Enabled checkerboard detection with a central / corner marker on a black tile [#25808](https://github.com/opencv/opencv/issues/25808)
- Fixed Rodrigues CV_32F and CV_64F type mismatch in projectPoints [#25824](https://github.com/opencv/opencv/issues/25824)
- Added fisheye::distort with non-identity projection matrix [#25943](https://github.com/opencv/opencv/issues/25943)
- SQPnP solver updates [#26219](https://github.com/opencv/opencv/issues/26219)
- Fixed vector access in USAC [#26530](https://github.com/opencv/opencv/issues/26530)
- Imgproc Module:
- Fixed bug in contours approximation #25672
- divSpectrums bugfix #25738
- Fixed result buffer overflow in intersectConvexConvex_ for non-convex input #25725.
- Added a new function that approximates the polygon bounding a convex hull with a certain number of sides #25607
- Added flag to GaussianBlur for faster but not bit-exact implementation #25792
- Added flag to cvtColor for faster but not bit-exact implementation #25932
- Fix fillPoly drawing over boundaries #26187
- Added a new function that approximates the polygon bounding a convex hull with a certain number of sides [#25607](https://github.com/opencv/opencv/issues/25607)
- Added Weighted Hough Transform [#21407](https://github.com/opencv/opencv/issues/21407)
- Fixed bug in contours approximation [#25672](https://github.com/opencv/opencv/issues/25672)
- Fixed bug in divSpectrums [#25738](https://github.com/opencv/opencv/issues/25738)
- Fixed result buffer overflow in intersectConvexConvex_ for non-convex input [#25725](https://github.com/opencv/opencv/issues/25725).
- Added flag to GaussianBlur for faster but not bit-exact implementation [#25792](https://github.com/opencv/opencv/issues/25792)
- Added flag to cvtColor for faster but not bit-exact implementation [#25932](https://github.com/opencv/opencv/issues/25932)
- Fixed fillPoly drawing over boundaries [#26187](https://github.com/opencv/opencv/issues/26187)
- DNN Module:
- [GSoC] Blockwise quantization support #25644
- Added DepthToSpace and SpaceToDepth #25779
- Fixed CuDNN runtime version check for CuDNN 9+ #25841.
- Yolo v10 support and related samples #25794
- Parallel implementation of nary elementwise operations #25630
- Support for Unflatten operation required by Attention layer #25861
- Erf and GELU layers optimization #25147
- Activations optimization with v_exp #25881
- Fix compilation errors with different OpenVINO versions #25987
- Fix matmul crash with CuDNN #26029
- Added ONNX TopK #23279
- Fixed buffer allocation in einsum (fixed random crash on 32-bit platforms) #26059
- Leaky RELU support for TFLite #26132.
- Use run-time dispatcher for Winograd #26155
- Faster implementation of blobFromImages for cpu nchw output #26127
- DNN optimization with RISC-V RVV #25883.
- [GSoC] Blockwise quantization support [#25644](https://github.com/opencv/opencv/issues/25644)
- Faster implementation of blobFromImages for cpu nchw output [#26127](https://github.com/opencv/opencv/issues/26127)
- DNN optimization with RISC-V RVV [#25883](https://github.com/opencv/opencv/issues/25883).
- Added DepthToSpace and SpaceToDepth [#25779](https://github.com/opencv/opencv/issues/25779)
- Yolo v10 support and related samples [#25794](https://github.com/opencv/opencv/issues/25794)
- Parallel implementation of nary elementwise operations [#25630](https://github.com/opencv/opencv/issues/25630)
- Support for Unflatten operation required by Attention layer [#25861](https://github.com/opencv/opencv/issues/25861)
- Erf and GELU layers optimization [#25147](https://github.com/opencv/opencv/issues/25147)
- Activations optimization with v_exp [#25881](https://github.com/opencv/opencv/issues/25881)
- Fixed compilation errors with different OpenVINO versions [#25987](https://github.com/opencv/opencv/issues/25987)
- Fixed matmul crash with CuDNN [#26029](https://github.com/opencv/opencv/issues/26029)
- Fixed CuDNN runtime version check for CuDNN 9+ [#25841](https://github.com/opencv/opencv/issues/25841).
- Added ONNX TopK [#23279](https://github.com/opencv/opencv/issues/23279)
- Fixed buffer allocation in einsum (fixed random crash on 32-bit platforms) [#26059](https://github.com/opencv/opencv/issues/26059)
- Added Leaky RELU support for TFLite [#26132](https://github.com/opencv/opencv/issues/26132).
- Switched to run-time dispatcher for Winograd [#26155](https://github.com/opencv/opencv/issues/26155)
- Objdetect module:
- Properly check markers when none are provided #25938.
- Fix invalid vector access in QR de/encoder #26532
- Properly check markers when none are provided [#25938](https://github.com/opencv/opencv/issues/25938).
- Fixed invalid vector access in QR decoder and encoder [#26532](https://github.com/opencv/opencv/issues/26532)
- Highgui module:
- New Highgui backend on top of Framebuffer #25661
- Fixed HWND_TOP widnowss handling on Windows #25836
- [GSoC] Added OpenGL support with GTK3 #25822
- Several OpenGL related fixed on Linux #25865, #22836
- Cocoa/highgui: fix leak in cvGetWindowRect_COCOA #26625
- Added new Highgui backend on top of Framebuffer [#25661](https://github.com/opencv/opencv/issues/25661)
- Fixed HWND_TOP widnowss handling on Windows [#25836](https://github.com/opencv/opencv/issues/25836)
- [GSoC] Added OpenGL support with GTK3 [#25822](https://github.com/opencv/opencv/issues/25822)
- Several OpenGL related fixed on Linux [#25865](https://github.com/opencv/opencv/issues/25865), [#22836](https://github.com/opencv/opencv/issues/22836)
- Fixed leak in cvGetWindowRect_COCOA [#26625](https://github.com/opencv/opencv/issues/26625)
- Imgcodecs module:
- [GSoC] New API for Animations with WEBP, AVIF and Animated PNG support #25608, #25715.
- [GSoC] Add GIF decode and encode for imgcodecs #25691
- Initial RGB layout support in imread and imdecode #25809
- Fixed imread output type for some cases #25703
- Fixed file descriptor leak in HDR decoder #25838
- Fixed corrupted JPEG decoding #25864
- Improved error handling in image codecs #25975
- Fixed Bayer2Gray SIMD for U8 #25968
- Avoid uninitialized value read in AVIF #26084
- Implemented imencodemulti() #26211
- Fixed compatibility with different OpenEXR versions #26478.
- [GSoC] New API for Animations with WEBP, AVIF and Animated PNG support [#25608](https://github.com/opencv/opencv/issues/25608), [#25715](https://github.com/opencv/opencv/issues/25715).
- [GSoC] Add GIF decode and encode for imgcodecs [#25691](https://github.com/opencv/opencv/issues/25691)
- Added experimental JPEG XL (jxl) codec support [#26379](https://github.com/opencv/opencv/issues/26379)
- Initial RGB layout support in imread and imdecode [#25809](https://github.com/opencv/opencv/issues/25809)
- Fixed imread output type for some cases [#25703](https://github.com/opencv/opencv/issues/25703)
- Fixed file descriptor leak in HDR decoder [#25838](https://github.com/opencv/opencv/issues/25838)
- Fixed corrupted JPEG decoding [#25864](https://github.com/opencv/opencv/issues/25864)
- Improved error handling in image codecs [#25975](https://github.com/opencv/opencv/issues/25975)
- Fixed Bayer2Gray SIMD for U8 [#25968](https://github.com/opencv/opencv/issues/25968)
- Avoid uninitialized value read in AVIF [#26084](https://github.com/opencv/opencv/issues/26084)
- Implemented imencodemulti() [#26211](https://github.com/opencv/opencv/issues/26211)
- Fixed compatibility with different OpenEXR versions [#26478](https://github.com/opencv/opencv/issues/26478).
- VideoIO module:
- Added VideoCapture constructor for in-memory data stream #25584
- Bug fixes for native video encoding on Android #25716.
- Added BGRA streams support in GStreamer back-end #25602.
- Updated materials for Orbbec cameras support #25813, #25845, 25907
- Fixed cv::VideoWriter with FFmpeg timestamps encapsulation #25874
- Fixed memory leak in Dshow back-end #26045
- Fix V4L NV12 color conversion #26081
- Android native camera feature enhancements #26627
- AndroidMediaNdkCapture pixel format enhancement #26656
- Fix VideoCapture fails to read single image with digits in name #26637
- videoio: fixed writer setProperty with FFmpeg plugin #26652
- Added VideoCapture constructor for in-memory data stream [#25584](https://github.com/opencv/opencv/issues/25584)
- Fixed bugs in native video encoding on Android [#25716](https://github.com/opencv/opencv/issues/25716).
- Added BGRA streams support in GStreamer back-end [#25602](https://github.com/opencv/opencv/issues/25602).
- Updated materials for Orbbec cameras support [#25813](https://github.com/opencv/opencv/issues/25813), [#25845](https://github.com/opencv/opencv/issues/25845), 25907
- Fixed cv::VideoWriter with FFmpeg timestamps encapsulation [#25874](https://github.com/opencv/opencv/issues/25874)
- Fixed memory leak in Dshow back-end [#26045](https://github.com/opencv/opencv/issues/26045)
- Fixed V4L NV12 color conversion [#26081](https://github.com/opencv/opencv/issues/26081)
- Android native camera feature enhancements [#26627](https://github.com/opencv/opencv/issues/26627)
- AndroidMediaNdkCapture pixel format enhancement [#26656](https://github.com/opencv/opencv/issues/26656)
- Fixed VideoCapture fails to read single image with digits in name [#26637](https://github.com/opencv/opencv/issues/26637)
- Fixed writer setProperty with FFmpeg plugin [#26652](https://github.com/opencv/opencv/issues/26652)
- Video module:
- Fixed VitTrack in the case where crop size grows until out-of-memory when the input is black #25771
- Fixed VitTrack in the case where crop size grows until out-of-memory when the input is black [#25771](https://github.com/opencv/opencv/issues/25771)
- Features2d:
- Fixed out of bounds access in SIFT #26148
- Fixed out of bounds access in SIFT [#26148](https://github.com/opencv/opencv/issues/26148)
- G-API module:
- Fixed input buffer read overflow in vectorized G-API convertTo implementation #25780.
- Extended G-API onnx::Params to pass arbitrary session options #25791
- Handling I32/I64 data types in G-API ONNX back-end #25817
- G-API: Introduce level optimization flag for ONNXRT backend #26293
- Fixed input buffer read overflow in vectorized G-API convertTo implementation [#25780](https://github.com/opencv/opencv/issues/25780).
- Extended G-API onnx::Params to pass arbitrary session options [#25791](https://github.com/opencv/opencv/issues/25791)
- Handling I32/I64 data types in G-API ONNX back-end [#25817](https://github.com/opencv/opencv/issues/25817)
- G-API: Introduce level optimization flag for ONNXRT backend [#26293](https://github.com/opencv/opencv/issues/26293)
- Optimizations:
- New FastCV-based HAL for Qualcomm SoCs (`-DWITH_FASTCV=ON` CMake option) #26556, #26617, 26619, 26621.
- Own vectorized version of v_exp #24941, v_log #25781, v_erf #25872, v_sin and v_cos #25892,
- KleidiCV HAL for ARM updated to KleidiCV 0.3 #26623.
- Initial version of HAL for RISC-V RVV 1.0 and RISC-V RVV 0.7.1 extensions #26216, #26624, 26675.
- Use LMUL=2 in the RISC-V Vector (RVV) backend of Universal Intrinsic. #26318
- More functions in NDSRVP HAL for RISC-V P extension #25786, #26088, #26364.
- Updated built-in IPP to version 2021.12. Fixed build issues with old and new Intel IPP layouts #25773
- New FastCV-based HAL for Qualcomm SoCs (`-DWITH_FASTCV=ON` CMake option) [#26556](https://github.com/opencv/opencv/issues/26556), [#26617](https://github.com/opencv/opencv/issues/26617), 26619, 26621.
- Added own vectorized version of v_exp [#24941](https://github.com/opencv/opencv/issues/24941), v_log [#25781](https://github.com/opencv/opencv/issues/25781), v_erf [#25872](https://github.com/opencv/opencv/issues/25872), v_sin and v_cos [#25892](https://github.com/opencv/opencv/issues/25892),
- KleidiCV HAL for ARM updated to KleidiCV 0.3 [#26623](https://github.com/opencv/opencv/issues/26623).
- Initial version of HAL for RISC-V RVV 1.0 and RISC-V RVV 0.7.1 extensions [#26216](https://github.com/opencv/opencv/issues/26216), [#26624](https://github.com/opencv/opencv/issues/26624), 26675.
- Used LMUL=2 in the RISC-V Vector (RVV) backend of Universal Intrinsic. [#26318](https://github.com/opencv/opencv/issues/26318)
- More functions in NDSRVP HAL for RISC-V P extension [#25786](https://github.com/opencv/opencv/issues/25786), [#26088](https://github.com/opencv/opencv/issues/26088), [#26364](https://github.com/opencv/opencv/issues/26364).
- Updated built-in IPP to version 2021.12. Fixed build issues with old and new Intel IPP layouts [#25773](https://github.com/opencv/opencv/issues/25773)
- Platforms:
- HWAsan support on Android #25746
- Several CUDA fixes for old GPUs without FP16 support #25880
- Added getStdAllocator() to cv::cuda::GpuMat #25978
- Updated NPP calls to use the new NppStreamContext API if available #26245
- More convenient GpuMatND constructor #26472
- Added run-time GPU check to haveCUDA #26164.
- Add support for QNX #25832
- HWAsan support on Android [#25746](https://github.com/opencv/opencv/issues/25746)
- Several CUDA fixes for old GPUs without FP16 support [#25880](https://github.com/opencv/opencv/issues/25880)
- Added getStdAllocator() to cv::cuda::GpuMat [#25978](https://github.com/opencv/opencv/issues/25978)
- Updated NPP calls to use the new NppStreamContext API if available [#26245](https://github.com/opencv/opencv/issues/26245)
- More convenient GpuMatND constructor [#26472](https://github.com/opencv/opencv/issues/26472)
- Added run-time GPU check to haveCUDA [#26164](https://github.com/opencv/opencv/issues/26164).
- Add support for QNX [#25832](https://github.com/opencv/opencv/issues/25832)
- OpenCV.js
- Extended API white-list and added more tests #26387
- Split white-list per module. Added opportunity to cover opencv_contrib modules #25986
- Fix incorrect string format in js build script #26374
- Emscripten build fixes with SIMD intrinsics #26537
- Added more public types for USAC support #26638
- Rename Mat::clone binding because it is used in Emscripten #26643
- Fixed C preprocessor stringification #26644
- Fix enum generation issues #26147
- Multiple test improvements #25732, #25757, #25961
- Extended API white-list and added more tests [#26387](https://github.com/opencv/opencv/issues/26387)
- Split white-list per module. Added opportunity to cover opencv_contrib modules [#25986](https://github.com/opencv/opencv/issues/25986)
- Fix incorrect string format in js build script [#26374](https://github.com/opencv/opencv/issues/26374)
- Emscripten build fixes with SIMD intrinsics [#26537](https://github.com/opencv/opencv/issues/26537)
- Added more public types for USAC support [#26638](https://github.com/opencv/opencv/issues/26638)
- Rename Mat::clone binding because it is used in Emscripten [#26643](https://github.com/opencv/opencv/issues/26643)
- Fixed C preprocessor stringification [#26644](https://github.com/opencv/opencv/issues/26644)
- Fix enum generation issues [#26147](https://github.com/opencv/opencv/issues/26147)
- Multiple test improvements [#25732](https://github.com/opencv/opencv/issues/25732), [#25757](https://github.com/opencv/opencv/issues/25757), [#25961](https://github.com/opencv/opencv/issues/25961)
# version:5.0-alpha