Log message:
opencv*: update to 4.13
New Year update for OpenCV 4.x has been released.
Core module:
Modified Input/OutputArray methods to handle 'std::vector' or \
'std::vector<std::vector>' in more accurate way #28242
Made cuda::GpuMatND compatible with InputArray/OutputArray #23913
Forced output type for empty matrices where it's defined in API #27972
Added std::vector length check Input/OutputArray #27817
Added 16-bit LUT and corresponding HAL entrypoint #27890, #27911
Add cv::Mat::copyAt for for ROI operation #27318
Extended JSON support in cv::FileStorage: null parsing #27579 and
Added support parsing null in JSON parser in cv::FileStorage #27579 and \
back slash "" support #27587
Fixed cv::solveCubic numerical instability via coefficient normalization \
#28117
Fixed tempfile race condition on Windows #28087
Restore parallel framework name on failure attempt #27802
Dropped OPENCV_FOR_OPENMP_DYNAMIC_DISABLE environment variable in favor \
of standard OMP_DYNAMIC #28122
Enabled fp16 conversions, but disabled NEON FP16 arithmetics on Windows \
for ARM #27897
Fixed dot product accumulation causing NORM test failures on Windows \
ARM64 #28211
Added several performance optimizations for Windows on ARM: #27575, #27596
Fixed missing vec_cvfo on IBM POWER9 due to unavailable VSX float64 \
conversion #27990
Fix in-place flip in HAL for RISC-V RVV #28180
Added inRange HAL entry point #27854
Disabled IPP with AVX512 in cv::compare because of performance \
regression #28311
Imgproc module:
Added Iterative Phase Correlation #28146, paper
Added cv::minEnclosingConvexPolygon #27369
Improved near-zero convexity handling in cv::convexHull #28043
Kept cv::convexHull output indices monotone if possible #28163
Fixed overflow in connected components #27582
Corrected cv::minAreaRect to follow documentation (force angle to range \
[-90, 0)) #28051
Increased minAreaRect accuracy with doubles #28149
Added cv::CLAHE::BitShift option #28014
Fixed cv::minEnclosingCircle #27904, #27914
Fixed standard cv::HoughLines output shift for rho. #27992
Fixed LINE_4/LINE_8 swap in cv::drawContours #28088
Fixed bug in approxPolyDP: calculate distance to a segment, not to a \
line #28119
Various performance optimizations for Gaussian Blur, including AVX512 \
#27795 and blur #27822, bilateralFilter #27433.
Added CV_SIMD_SCALABLE branch to pointSetBoundingRect #27479
Added Canny, Scharr and Sobel for riscv-rvv hal #27378
Optimized ThickLine() for distant points #27366
Fixed heap-buffer-overflow in stackBlur #28233 #28250
Fixed the out-of-bounds read in cv::bilateralFilter for 32f images #28259
Fixed memory leak in ipp_warp function #27532
Set limitation to IPP Bilateral Filter tiles number to avoid too small \
tiles #27720
Fixed incorrect implementation of multi-threaded call for warp \
perspective in IPP HAL #27903
Added stateless HAL for filters and morphology #28208
Imgcodecs module:
Extended metadata support in Jpeg (ICCP and XMP) #27583, PNG and WebP \
#27503, cICP field in PNG #27741, AVIF (XMP) #27506, #28072.
Added OpenEXR multispectral read/write support #27485
Added strict validation for encoding parameters #27621, #27769
Relaxed decoding size limit to over 1 GiB for several formats #27811, #27976
Added IMWRITE_PNG_ZLIBBUFFER_SIZE option support for PNG #27551, #27615
Fixed memory leak in WebP backend #27849
Added workaround for image flipping bug in older GDAL FITS drivers #27919
Added support for 32bpp BMP with BI_BITFIELDS #27559
Fixed several overflow and out-of-bound access issues in BMP #28040, #27847
Fixed potential crashes in PNG found by fuzzer. Namely 429429085, \
429645379, 430091585 #27529
Fixed several potential overflows and error handling mistakes in PNG \
#28249, #28196, 27750
Fixed alpha handling for blending in PNG format #27981
Set matrixCoefficients to UNSPECIFIED for monochrome images in AVIF #28065
Added safety checks for AVIF decoder and encoder #28200
VideoIO module:
Added option to open camera device by index through FFmpeg #27841, Added \
FFmpeg 8.0 support #27691, #27746
Extended Orbbec SDK support: added timestamps #27610, options for custom \
fps and resolution #27629, camera distortion coefficients as API #27663
Extended Aravis SDK support: allowed system-wide installation of SDK \
#28090, set default pixel format for cameras with unsupported format #28086
Added macOS support for Orbbec Gemini330 camera #27930
Fixed frame seeking with negative DTS values in FFMPEG backend #27878
Fixed CvCapture_FFMPEG::setProperty(CAP_PROP_POS_*) followed by \
getProperty #27523
Added Raspberry Pi 4 and 5 V4L2 Stateless HEVC Hardware Acceleration \
with FFmpeg #27453
Optimized FFmpeg VideoCapture with swscale threads option #27755
Fix return code from CvVideoWriter_FFMPEG::writeFrame() when \
encapsulating ##27737
Added OPENCV_FFMPEG_SKIP_LOG_CALLBACK to preserve custom FFmpeg logging \
#27864
Get code to compile without FFMPEG's libavdevice #27948
catch _com_error exceptions to suppress debugger flooding #28073
Fixed picture_sw object leak in ffmpeg backend with hardware codecs. #28283
videoio(dshow): Fix incorrect mapping for White Balance Temperature \
(CAP_PROP_WB_TEMPERATURE) property #28202
Fixes a crash on iOS when calling VideoWriter::release() in OpenCV \
4.12.0 #28173.
Features2D module:
Fixed ORB inconsistency for masks with values differs from 255 #26366
Fixed pointer arithmetic in BRISK corner traversal #28091
Added heuristic to allocate buffer for FAST features depending on input \
image resolution #27657
Optimized AGAST for Windows on ARM #27776
Added FAST to RISC-V RVV HAL #27391
Objdetect module:
Added pixel-based confidence in ArUco marker detection #23190
Improved multiple QR codes detection with \
QRCodeDetector::detectAndDecodeMulti #27787
Fixed to prevent QR code decoding from throwing on degenerate source \
points #27837
Fix QRCodeDetector::detectAndDecode crash in case of inconsistent \
detection #27877
Remove floating point arithmetic from angle computation in QR codes #28157
Speedup ChArUco by avoiding temporary copies #27820
Fixed stack-use-after-scope errors in charuco detector #28285
Used fast-path with INTER_LINEAR resize when ALGO_HINT_APPROX is used in \
HOG 27706
DNN module:
Added more layers support: ONNX randomNormalLike #28164, TFLite Minimum \
#28248, Maximum #28171
Allowed protobuffer message to be compiled with LITE_RUNTIME #27960
Fixed ONNX Convolution node parsing when kernel size is implicit #28282
Fixed Windograd flag handling in convolution layer #28000
Added NEON intrinsics implementation of fastGEMM1T function #27785
Add SVE optimized fastGEMM1T function and SVE dispatch #28055
Fixed heap-buffer-overflow in DNN NaryEltwiseLayer #28272
Improved performance of softmax_3d with loop unrolling #27777
Calib3d module:
Added estimateTranslation2D() #27950
Replaced Gao P3P with Ding P3P algorithm #27736
Added QR decomposition option to stereoCalibrate #27920
Improved fisheye::undistortPoints convergence #27993
Fixed invalid memory access in USAC #27865
Fixed out of bounds in calibrateAndNormalizePointsPnP #28009
Stitching module:
Fixed multiband blender memory leak 27333 #28085
Pass warp parameters by value to avoid CUDA constant races #28118
Optimized fast.cpp on Windows ARM with loop unrolling #27642
HighGUI module:
Fixed linking for HighGUI against Qt 6.9 and newer #27908
Fixed Qt HighGUI lifecycle issue when external QApplication exists #28312
Fixed memory leak in CvWindow Qt back-end #28102
G-API module:
Added G-API custom stream sources in Python #27276
Implemented cfgEnsureNamedTensors option to OpenVINO Params #27549
Implemented cfgClampOutputs option to OpenVINO Params #27600
Renamed WorkloadType::notify() -> WorkloadType::set() #28299
Added support to set workload type dynamically in both OpenVINO and ONNX \
OVEP #27460
Fixed null pointer dereference in G-API stateful kernels #28137
Updated deprecated ov::element::undefined #28127
Video module:
Added multichannel support for findTransformECC and computeECC #27524
Add optional template mask for findTransformECC #27952
Added optional Known Foreground Mask for Background Subtractors #27810
Add setCoarsestScale to DISOpticalFlow #28217
Fixed potential pointer overflow in Farnback optical flow #28226
ML module:
Fixed ml::KDTree::findNearest #27915
Photo module:
Added 16U and 32F support in merge functions in photo module #28168
JavaScript bindings:
Added option to wrap opencv_contrib into JS too #27828
Fixed string property bindings in JS generator #27726
Update helpers.js to include .delete #27613
Added deep copy behavior for Mat.clone() #28216
Removed deprecated DEMANGLE_SUPPORT option
Tuned CONV_NR_FP32 size for WASM #27773
Added large scalar kernel for fastconv #27723
Fixed generation when returned class and function are in a namespace #27963
Fixed JS bindings for namespaced Ptr factory return types #28143
Python bindings:
Tuned Python bindings for logging #27812
Marked Feature2D.detectAndCompute mask as optional in Python type stubs \
#27544
Marked distCoeffs/R/D as optional in calib3d functions #27564
Added DLPACK support #27581, #27861
Fixed memory leaks in pybindings #27738
Add PathLike type hints for args annotated with CV_WRAP_FILE_PATH #27767
Fixed memory leak in pyopencv_to for path-like objects #28047
Tunned Python bindings: use export_name as resolved typename for \
AliasTypeNode #27997
python: fix pytest-cov false warnings by using compile() with full file \
path in exec_file_wrapper #28093
Fixed python scalar typing issues #27620
Fixed bug in ifdef state machine in header parser for bindings #27393
Wrap GridType field in cv::findCirclesGrid parameters structure #27689
Java bindings:
Introduced option to generate Java code with new Cleaners interface or \
old finalize() #28159
Enabled Java wrapper generation for Vec4i #27567
Added Java wrapper support for List<List> #27705, #27708
Applications and Tools:
Improved interactive calibration tool: added option to select camera \
backend #27546, extended calibration flags #27574, Improved preview for \
grayscale cameras #27628.
Aligned calibration tools and samples output fields to make them \
reusable in further steps #27872
Used calibration board imperfectness correction only for the cases where \
it's applicable #27571
Added option to define Aruco index offset in pattern generator #27799
Moved pattern generator to apps and rewrote tutorial #27833
Fix charuco_board_pattern in generate_pattern.py #27876
Updated Tutorial PSNR for identical images #27859
Build:
Integrated KleidiCV version 0.7 with Mac and Linux support (enabled by \
default) #28220, #27640, #27607.
Integrated IPP ICV with AWX512 support.
Fixed issues identified by PVS Studio #28167, #28185, #28198
Added support MS Visual Studio 2026 support #28013
Added CUDA 13.0 support #27636, #27668, #27537. Fixed compatibility \
issues with modern CUDA: #27522, #27734, #27889, #27949
Fixed OpenBLAS detection #27778, #28052
Added reproducible builds support by making host system version optional \
#27979
Fixed build issue with some old GCC versions #27569
Fixed unicode tracing symbols with QT #28128
Fixed eigen diagnostics for versions after v3.4.0 #27536
Added CMake define option to enforce IPP calls in IPP HAL #27925
|
Log message:
opencv*: update to 4.12.0
Summer update for OpenCV 4.x
Core Module:
Added user-defined logger callback #27154
Added reinterpret() method to cv::Mat #25394
Fixed empty ND-array construction #27362
Fixed bug with int64 support for FileStorage #26846
Fixed cv::meanStdDev overflow for large images #26867
Useed HAL for cv::mean function too #26895
Vectorized cv::normalize / cv::norm #26885
Enabled SIMD_SCALABLE for exp and sqrt #26886
vectorized normDiff with universal intrinsics #27042
Refactored normDiff in hal_rvv and extended with support of more data \
types #27115
Further vectorized copyTo with mask #27145
Fix POWN OpenCL implementation #27274
Restored legacy universal intrinsics operators in a separate header #27327
Improved solveCubuc accuracy: #27331, #27347
Deprecated copyData Parameter in cv::UMat construction from std::vector \
and always copy data #27408
Imgproc Module:
Optimized and reduced memory consumption in cv::findContours #26690, #26834
Fixed integer overflow in cv::HoughLinesProbabilistic with very large \
input images #26744
Fixed several potential overflows in image warping #26765, #26776
Improved robustness for ellipse fitting #26773
Added cv::THRESH_DRYRUN flag to get adaptive threshold values without \
input thresholding #26836
Fixed cv::getPerspectiveTransform for singular case #26926
Optimized bayer2Gray with universal intrinsics #26868
Added optional mask to cv::threshold #26842
Accelerated cv::remap calculation with multi-threading, when \
cv::WARP_INVERSE_MAP is used #27108
Reworked HSV color conversion tables initialization in OpenCL branch to \
fix possible data raise #27287
Fixed bilateral filter's sigma color and sigma space issue #27309
Impoved performance of medianblur #27299
Added cv::getClosestEllipsePoints function to get the closest point on \
an ellipse #26299
Corrected IPP implementation for cv::distanceTransform results with \
single thread #27432
Fixed cv::matchTemplate with mask crash #26703
Added diamond structuring element to morphology operations #27441, #27492
Improved cv::intersectConvexConvex accuracy in corner cases #26974
Calib3d module:
Fixed inliers updating in homography estimation #26742
Added cv::solvePnPRansac implementation for the fisheye camera model #26669
Fixed different marker ordering with cv::findChessboardCornersSBWithMeta \
and cv::CALIB_CB_LARGER flag.
Fixed logical mistake in FilterSpecklesImpl #26996
Optimized undistort points for the fisheye camera model #26988
Optimized new camera matrix estimation and some related functions #27001
Added warning if projected axes are out of camera frame in cv::drawAxes \
function #27311
Added image dimension check to avoid StereoSGBM non-determinism #27305
Fixed bugs in SQPNP orthogonalization and simplified column vectors \
copying #27437
DNN Module:
Added TFLite StridedSllice (without strides but just Slice) and enable \
strides for TF importers #27273
Added fusion handler of conv+eltwise in case of multi-output node (i.e. \
Split) #27326
Added new ops import in TFLite parser: SUB, SQRT, DIV, NEG, \
SQUARED_DIFFERENCE, SUM #27307
Fxied scalars and 1d tensors support in TFLite parser #27307
Reduced mumber of NHWC<->NCHW conversions in TFLite parser #27307
Added checks before getting latest pin in Net::Impl::getLatestLayerPin #27353
Added OpenVINO NPU support #27363
Added more operations to CANN backend #24756
Objdetect module:
Extend ArUcoDetector to run multiple dictionaries in an efficient manner \
#26934.
Fixed rotated aruco marker board generation #26753
Fixed incorrect Aruco marker detection near image edge #26968
Fixed invalid vector access in QR de/encoder #26532
Fix QR code encoder with auto version #27244
Aded QRCode ECI encoding support #24426, #27486
Made ChAruco board consistency check optional #26824
Photo Module:
Added 16-bit support to cv::fastNlMeansDenoising and updated tests #26831
Local decolor pipeline optimization #27041
Fixed Triangle Weights used by Debevec algorithm being non zero at \
extremes #27270
Fixed NaNs in HDR Triangle Weights and Tonemapping and Update LDR Ground \
Truth in tutorial #27396
VideoIO Module:
Fixed invalid custom FFmpeg options handling provided with environment \
variable #26793
Fixed default cv::CAP_PROP_ORIENTATION_ATUO behaviour #26800
Improved camera opening performance when with DShow backed, if custom \
options are provided #26601
Added zoom support into Android native camera capture #26837
Fixed V4L frame size for non-BGR output #27193
Added Orbbec Gemini 330 camera support #27230
Fixed cv::VideoWriter failure on writing colorless images #27153
Fixed Android setCameraIndex issue #27419
Imgcodecs:
Extended image I/O API with metadata support #27499
Added in-memory animation encoding and decoding #27013
Added hidden frame support for Animated PNG #27127
Added GIF decode and encode for imgcodecs #25691, #26971, #26859, \
#26738, #26930, #27081, #27138, #27296
Added animated WebP Support #25608, #27457
Added GDAL multi-channel support #27458
Fixed AVIF linkage on Windows #26762
Significantly improved PNG and Animated PNG files handing #26849, \
#26739, #26748, #26782, #26832, #26835, #26848, #26851, #26854, #26915, #27040, \
#27087, #27297
Added several fixes for libspng integration #27314
Fixed memory leak in JpegXL decoder #26787
Added support for cv::IMREAD_UNCHANGED and other ImreadFlags into JpegXL \
implementation #26788
Implemented imdecode() for JpegXL to directly read from memory #26844
Added lossless compression support for JpegXL #27384
Fixed cv::imread() implementation for 16-bit png with libspng back-end #27113
Highgui Module:
displayOverlay doesn't disappear after timeout #27082
Fix closing of windows when using the Qt backend #27170
Fixed QT window resize regression #27282
G-API module:
Workaround for successfull append of OpenVINO Execution Provider: Moved \
creation of 'Ort::Env' before it #26983
Adding AddRgbFeature(), and improving robustness in ComputeRgbDistance #26682
Added MS Media Foundation availability check in G-API too #27355
Video Module:
Added trackers factory with pre-loaded dnn models #26875
HAL:
Extracted HAL implementations as dedicated folder #27252.
Implemented new HAL for RISC-V RVV 1.0 platforms, see all changes by query
Refactored OpenVX implementation as HAL #26903, #26911, #26907.
Partially refactored Intel IPP integration as HAL #26880, #27125, \
#27128, #27194, #27213, #27346. Further IPP conversion will be continued in the \
next releases
Fixed HALs dependency from thre cv namespace #26878
Updated KleidiCV HAL for ARM to version 0.5
Extended FastCV HAL for Qualcomm platforms #27217, #27216, #27184, \
#27182, #27033
Added new HAL entries for cv::sum #27346, copyTo with mask #27162, \
cv::DFT and cv::DCT variations #26865, convert with scale #26804, cv::norm \
variations #26804, minMaxIdx with step support #26789, cv::calcHist #27332, \
cv::pyrUp #26958, more variations for cv::remap #27119
Python, Java and JavaScript bindings:
Added conditional inclusion support to header parser #27325, #27393, #27478
Updated predefined_types.py #26826
Added bindings for animations #26813
Fix wrong python type hints for cv::imread #26890
Replaced tostring() and fromstring() call in tests and samples for \
compatibility with modern Python #26932, #26949
Replaced ndarray.ptp() with np.ptp() for NumPy 2.0 Compatibility #27133
Extended Java bindings generation in DNN #27228, #27260, Features2d #27245
Fixed std::vector<Point3f> handling in JS wrappers #27291
Added cv::VideoCapture buffered stream constructor into Java #27284, #27421
Extended bindings for cv::HoughLinesWithAccumulator #27377
Fixed Kotlin 2.0 internal error for unsafe coercions #26354
Platforms support:
Fixed OpenBLAS detection on Linux #27029
Fixed compatibility with CMake 4 #27192
Fixed Android build with Vulkan support #26765
Fixed VSX intrinsics (Power) implementation #26750, #26786
Added CMake checks for getauxval and elf_aux_info for POWER architecture \
#26798
Fixed build for openBSD #26803
Added initial support for Nvidia Blackwell GPU arch in CUDA #26820
Fixed cv namespace dependency in Carotene HAL #26878
Fixed _DEBUG/NDEBUG handling across modules #26151
Fixed build for QNX 7.0 #26985
Switched to statically linked FastCV #26917, #27340 fixed build issues \
on Android #27345
Forced C++17 Standard for CUDA targets when CUDA Toolkit >=12.8 \
#27112 #27142
Fixed build for Windows ARM64EC #27416
Fixed filesystem support under Cygwin environment #27484
|