1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-21 19:33:03 +04:00
Commit Graph

35373 Commits

Author SHA1 Message Date
Alexander Smorkalov 49486f61fb release: OpenCV 4.12.0 4.12.0 2025-07-02 10:54:13 +03:00
Alexander Smorkalov 6b55ae0319 Merge pull request #27504 from asmorkalov:as/optional_gdal
Made some GDAL specific tests optional
2025-07-02 10:53:47 +03:00
Alexander Smorkalov 7a0d6559c3 Made some GDAL specific tests optional. 2025-07-02 10:07:13 +03:00
Vadim Pisarevsky 66e5fce928 Merge pull request #27499 from vpisarev:image_io_with_metadata
Extend image I/O API with metadata support #27499

Covered with the PR:
* AVIF encoder can write exif, xmp, icc
* AVIF decoder can read exif
* JPEG encoder can write exif
* JPEG decoder can read exif
* PNG encoder can write exif
* PNG decoder can read exif

This PR is a sort of preamble for #27488. I suggest to merge this one first to OpenCV 4.x, then promote this change to OpenCV 5.x and then provide extra API to read and write metadata in 5.x (or maybe 4.x) in a style similar to #27488. Maybe in that PR exif packing/unpacking should be done using a separate external API. That is, metadata reading and writing can/should be done in 2 steps:

 * [1] pack and then [2] embed exif into image at the encoding stage.
 * [1] extract and then [2] unpack exif at the decoding stage.

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-07-01 18:38:22 +03:00
Alexander Smorkalov 677c4ee42f Merge pull request #27492 from krikera:4.x
Add MORPH_DIAMOND support to samples and tutorials
2025-06-30 11:38:15 +03:00
Martin 43112409ef Merge pull request #26974 from klosteraner:Fix-IntersectConvexConvex
Issue 26972: Proper treatment of float values in intersectConvexConvex #26974

As outlined in https://github.com/opencv/opencv/issues/26972 the function `intersectConvexConvex()` may not work as expected in the corner case, where two polygons intersect at a corner. A concrete example is given that I added as unit test. The unit test would fail without the proposed bug fix. I recommend porting the fix to all versions.

Now concerning the fix: When digging into the implementation I found, that when the line intersections are computed, openCV currently does not apply floating point comparison syntax, but pretends that line end points are exact. Instead I replaced the formulation using the eps that is already used in another component of the function in line.277: `epx=1e-5`. IMO that is solid enough, definitely better than assuming an exact floating point comparison is possible.

As a follow up I would suggest to use a scalable eps, s.t. also cases with high floating point numbers would be less error prone. However that would need to be done in all relevant sub steps, not just the line intersection code. So for me outside the scope of this fix.



### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-28 22:06:42 +03:00
krikera 27867cc72c Add MORPH_DIAMOND support to samples and tutorials 2025-06-27 21:09:53 +05:30
Alexander Smorkalov 5ee8919139 Merge pull request #27441 from KAVYANSHTYAGI:codex/find-feature-to-add-for-library
Add Support for Diamond-Shaped Structuring Element in Morphological Operations
2025-06-27 09:39:44 +03:00
Alexander Smorkalov 3ff2ce3291 Merge pull request #27486 from asmorkalov:as/qrcode_encode_java_ub_fix
Fixed out-of-bound access issue in QR Encoder Java warappers
2025-06-27 08:17:32 +03:00
Alexander Smorkalov 64ef095314 Merge pull request #27484 from xaos-cz:cygwin_filesystem_support
filesystem support under Cygwin
2025-06-26 17:38:41 +03:00
Alexander Smorkalov d9e2b4c650 Fixed out-of-bound access issue in QR Encoder Java warappers. 2025-06-26 17:19:10 +03:00
xaos-cz 611d69aae1 filesystem support under Cygwin
add support for enabling filesystem under Cygwin environment
2025-06-26 14:45:19 +02:00
Alexander Smorkalov d2d90dd1cd Merge pull request #26354 from onuralpszr:fix/kotlin-internal-error
fix(android): Kotlin 2.0 internal error for unsafe coercions
2025-06-26 12:08:44 +03:00
Alexander Smorkalov f6697558ce Merge pull request #27483 from valgur:patch-2
system.cpp: add missing #include <exception>
2025-06-26 10:03:27 +03:00
Alexander Smorkalov 856a497209 Merge pull request #27481 from opencv-pushbot:gitee/alalek/update_ffmpeg_4.x
ffmpeg/4.x: update FFmpeg wrapper 2025.06
2025-06-26 08:26:49 +03:00
Alexander Smorkalov 117801e136 Merge pull request #27482 from mshabunin:normalize-doc
doc: added note to normalize function
2025-06-26 08:23:37 +03:00
Martin Valgur 1d45a63598 system.cpp: add missing #include <exception> 2025-06-26 07:51:04 +03:00
Maksim Shabunin 029030095c doc: added note to normalize function 2025-06-25 20:48:14 +03:00
Alexander Alekhin 2e54a1f14f videoio(test): re-enable FFmpeg tests on WIN32
- PR26800
2025-06-25 17:38:03 +00:00
Alexander Alekhin 83309580f4 ffmpeg/4.x: update FFmpeg wrapper 2025.06 2025-06-25 17:29:26 +00:00
Alexander Smorkalov e9f1da7e8e Merge pull request #27463 from asmorkalov:as/new_atomics
Switch to standard C11 atomics on android and with nvcc.
2025-06-25 15:11:08 +03:00
Alexander Smorkalov c363303d0a Merge pull request #27480 from asmorkalov:as/haveImageReader_doc
Documentaion update for haveImageReader function
2025-06-25 15:10:41 +03:00
Alexander Smorkalov 42ec439d5a Documentaion update for haveImageReader function. 2025-06-25 13:34:49 +03:00
Alexander Smorkalov 5ee1a53d1e Merge pull request #27478 from asmorkalov:as/old_python_operators_eval
Fixed ifdef logic operators evaluation with some old python versions.
2025-06-25 12:29:42 +03:00
Alexander Smorkalov 359a005d82 Merge pull request #27477 from valgur:patch-1
imgcodecs: fix a minor bug in CMake for JPEG-XL
2025-06-25 11:41:04 +03:00
Alexander Smorkalov 288471f559 Fixed ifdef logic operators evaluation with some old python versions. 2025-06-25 10:35:53 +03:00
Alexander Smorkalov 91be7d3ce6 Merge pull request #24756 from fengyuentau:more_cann_operators
dnn cann: support more operators for SAM
2025-06-25 10:01:21 +03:00
Alexander Smorkalov a55eca9fb5 Merge pull request #27475 from s-trinh:update_calib3d_doc
Reduce the size of the checkerboard_radon.png image in the doc
2025-06-25 09:15:45 +03:00
fengyuentau 77d2a5868a feat: support more cann operators 2025-06-25 04:57:01 +00:00
Martin Valgur 0fac0e760f imgcodecs: fix a minor bug in CMake for JPEG-XL
Remove a likely copy-paste error.
2025-06-24 23:33:30 +03:00
Alexander Smorkalov e392b3843e Merge pull request #27476 from s-trinh:LSD_drawSegments_avoid_exception_empty_vec
Check for empty vector to avoid throwing an exception in LineSegmentDetectorImpl::drawSegments()
2025-06-24 12:22:47 +03:00
Souriya Trinh ba70d1104f Check for empty vector to avoid throwing an exception in LineSegmentDetectorImpl::drawSegments() function. 2025-06-24 04:58:54 +02:00
Souriya Trinh 7dfd1226ce Reduce the size of the checkerboard_radon.png image in the doc. Add references to the perspective camera model figure for solvePnP and related functions for better explanation. 2025-06-24 03:55:14 +02:00
Alexander Smorkalov 6ed29bdd39 Merge pull request #27472 from asmorkalov:as/norm_table_asan
Fixed out-of-bound access to function table in cv::norm for HORM_HAMING
2025-06-23 19:26:46 +03:00
Alexander Smorkalov a122f83374 Merge pull request #27470 from asmorkalov:as/phaseCorrelate_docs
phaseCorrelate documentation improvement
2025-06-23 16:51:59 +03:00
Alexander Smorkalov c3400603d0 Fixed out-of-bound access to function table in cv::norm for HORM_HAMING. 2025-06-23 15:42:23 +03:00
Suleyman TURKMEN 4629299163 Merge pull request #27469 from sturkmen72:png-fixes
Fix for 2 channel PNGs #27469

closes #26825

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-23 12:47:21 +03:00
Alexander Smorkalov 54fe519ae0 phaseCorrelate documentation imrpovement. 2025-06-23 12:28:09 +03:00
Suleyman TURKMEN afe5b226b4 Merge pull request #27113 from sturkmen72:spng-CV_16U
Fixing imread() function 16 bit reading png problem with libspng #27113

The purpose of the PR was to load bit-exact compatible results with libspng and libpng. To test this, `Imgcodecs_Png_PngSuite `was improved. Files containing gamma correction were moved to a separate test called `Imgcodecs_Png_PngSuite_Gamma `because the logic created for the other files did not apply to those with gamma correction. As a result, libspng now works in bit-exact compatibility with libpng. The code can be refactored later.

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-22 15:43:09 +03:00
cudawarped 1950c4dbb9 Merge pull request #27379 from cudawarped:fix_cuda_convertTo
cuda: Fix GpuMat::convertTo issues described in 27373 #27379

Fix https://github.com/opencv/opencv/issues/27373.

1. `GpuMat::convertTo` uses `convertToScale` due to incorrect overload.
2. There are no runtime checks to prevent the use of `CV_16U` data types in Release builds.

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2025-06-21 16:32:31 +03:00
Alexander Smorkalov 2ffca501e7 Merge pull request #26824 from futurewasfree:fix-chAruco
Charuco detector: stop-gap measure for poor detection rate on tough perspective
2025-06-21 16:31:12 +03:00
Suleyman TURKMEN 850b686f8a Merge pull request #27127 from sturkmen72:apng_has_hidden_frame
Changes about when APNG has a hidden frame #27127

closes : #27074

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-21 10:22:10 +03:00
Alexander Smorkalov 89289ecaa5 Switch to standard C11 atomics on android and with nvcc. 2025-06-20 12:38:11 +03:00
Yuantao Feng 3259863924 Merge pull request #27368 from fengyuentau:4x/imgproc/CreateHanningWindow-simd
imgproc: vectorize cv::createHanningWindow #27368

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-20 12:00:37 +03:00
Alexander Smorkalov 7f4c89c7cc Merge pull request #27461 from fengyuentau:4x/hal/riscv-rvv/imgproc/disable_integral
hal/riscv-rvv: disable integral for now
2025-06-20 11:32:07 +03:00
xaos-cz f24f6b8d4e Merge pull request #27458 from xaos-cz:4.x
imread: GDAL multi-channel support #27458 

- tested on 30-channel FITS and 186-channel ENVI files

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-20 10:43:53 +03:00
Yuantao Feng 98ed06c339 fix: disable integral due to accuracy issue #27407 2025-06-20 15:09:21 +08:00
Suleyman TURKMEN 23d812187e Merge pull request #27457 from sturkmen72:WebP-bugfix
fix for the issue #27456 #27457 

closes #27456

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2025-06-19 21:49:21 +03:00
Alexander Smorkalov 9bb20c0174 Merge pull request #27459 from asmorkalov:update_version_4.12.0-pre
pre: OpenCV 4.12.0 (version++)
2025-06-19 15:38:56 +03:00
Sergei Nikiforov a4a253ea2b Charuco detector: stop-gap measure for poor detection rate on tough perspective
add checkMarkers flag to charucoParameters to control board verification
(post-detection)
2025-06-19 12:16:09 +02:00