1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-28 14:53:03 +04:00
Commit Graph

25390 Commits

Author SHA1 Message Date
Alexander Smorkalov 0ff1452400 Merge pull request #27781 from Kumataro:test27744
imgcodecs: add test to decode a corrupted APNG
2025-09-19 13:02:48 +03:00
Jie Pan 5c1c39afc1 Merge pull request #27773 from jiepan-intel:wasm-optimization
dnn: Tune CONV_NR_FP32 size for WASM #27773

We can see ~20% inference time reduction on local benchmark.
The local benchmark includes face detection with res10_300x300_ssd_iter_140000_fp16.caffemodel and image classification with squeezenet.onnx .

### 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
- [ ] 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-09-17 17:24:44 +03:00
Kumataro fac647aaeb imgcodecs: add test to decode a corrupted APNG 2025-09-13 06:46:53 +09:00
pratham-mcw a7943cef60 Merge pull request #27776 from pratham-mcw:win-arm64-agast-detect-optimization
features2d: performance optimization of detect function on Windows-ARM64 #27776

### 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

- This PR improves the performance of the detect function on Windows ARM64 targets.
- Added the defined(_M_ARM64) macro in agast.cpp and agast_score.cpp files, aligning ARM64 behavior with how x64 selects internal functions for computation.
- As a result, ARM64 now executes the same internal functions as x64 where applicable, leading to measurable performance improvements in detect function.
- This changes is limited to Windows ARM64 and does not affect other architectures

**Performance impact:**
- Detect function shows improved runtime on ARM64 targets due to reuse of existing efficient computation paths.
<img width="1419" height="408" alt="image" src="https://github.com/user-attachments/assets/feab411a-d256-4bff-bec2-22b2583f63d1" />
2025-09-12 17:28:54 +03:00
Kumataro dac243bd26 Merge pull request #27769 from Kumataro:refix27557
Add strict validation for encoding parameters for APNG, Animation WebP #27769

Extra fix for https://github.com/opencv/opencv/issues/27557

- Fix for build errors with libspng library.
- Add strict validation for APNG.
- Add strict validation for Animation WebP.

### 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.
- [x] The feature is well documented and sample code can be built with the project CMake
2025-09-11 16:50:58 +03:00
Alexander Smorkalov 16c8308674 Merge pull request #27750 from Kumataro:fix27744
png: add setjmp() to detect libpng internal error for APNG
2025-09-11 10:23:46 +03:00
Quaylyn Rimer 1fdff6da75 Merge pull request #27620 from killerdevildog:fix-scalar-typing-issue-27528
Fix Python Scalar typing issue #27528 #27620

- Add ScalarInput and ScalarOutput types for better type safety
- ScalarInput: Union[Sequence[float], float] for function parameters
- ScalarOutput: Sequence[float] for function return values
- Keep original Scalar type for backwards compatibility (deprecated)
- Add refinement functions to apply new types to specific functions
- Functions returning scalars now use ScalarOutput (mean, sumElems, trace)
- Drawing functions now use ScalarInput for color parameters
- Resolves MyPy compatibility issues with scalar return values
- Maintains full backwards compatibility

closes #27528 

### 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.
- [x ] The feature is well documented and sample code can be built with the project CMake
2025-09-10 16:47:12 +03:00
Vadim Levin 1fe128f7b5 feat: add PathLike type hints for args annotated with CV_WRAP_FILE_PATH 2025-09-10 11:25:32 +03:00
Alexander Smorkalov ec015d48d6 Merge pull request #27764 from cudawarped:fix_windows_ffmpeg_preprocessor_compilation_issue
[videoio][ffmpeg] Fix Windows build error
2025-09-10 09:14:49 +03:00
Alexander Smorkalov 307442b30b Merge pull request #27762 from KAVYANSHTYAGI:typo-fixes
Fix typos in Einsum layer and G-API docs
2025-09-10 08:39:57 +03:00
cudawarped 08b84558a2 Move preprocessor directives outside of macro to avoid the following error when compiling with MSVC
D:\repos\opencv\opencv\modules\videoio\src\cap_ffmpeg_impl.hpp(1727): error C2121: '#': invalid character: possibly the result of a macro expansion
D:\repos\opencv\opencv\modules\videoio\src\cap_ffmpeg_impl.hpp(1727): error C2143: syntax error: missing ';' before 'if'
D:\repos\opencv\opencv\modules\videoio\src\cap_ffmpeg_impl.hpp(1727): error C2059: syntax error: '>='
2025-09-10 08:00:41 +03:00
Kavyansh Tyagi eed87abbcf Fix typos in Einsum layer and G-API docs 2025-09-09 23:21:14 +05:30
Alexander Smorkalov ae86b400cc Remove libavresample from CMake as it's not used in code. 2025-09-09 16:13:43 +03:00
Alexander Smorkalov efea09120b Merge pull request #27734 from cudawarped:cuda_double4_dep
[cuda] Add compatibility layer for vector types due for depreciation in CUDA 14.0
2025-09-09 14:49:48 +03:00
Alexander Smorkalov 3a21ed56e3 Merge pull request #27738 from arrzhev:fix_memoryleak_pybindings
Fix memory leaks in pybindings
2025-09-09 14:46:50 +03:00
Dmitry Kurtaev 8e0c0dc347 Merge pull request #27755 from dkurt:ffmpeg/sws_scale_frame
Optimize FFmpeg VideoCapture with swscale threads option #27755

### Pull Request Readiness Checklist

resolves https://github.com/opencv/opencv/issues/21969

* Switch to `sws_scale_from` for `libswscale >= 6.4.100` (FFmpeg >= 5.0)
* Use new context init API with threads option (`libswscale >= 8.12.100`: https://github.com/FFmpeg/FFmpeg/commit/2a091d4f2ee1e367d05a6bbbe96b204257cbda87)
* Replicate `sws_getCachedContext` with threads option for `libswscale < 8.12.100`

1 hour mp4 video every frame reading
| HW | sws_scale | sws_scale_frame + 16 threads | sws_scale_frame + 24 threads (#cpus) | 
|---|---|---|---|
| Intel Core i9-12900 CPU | 45.1 sec | 25.4 sec (x1.77) | 30 sec (x1.50) | 
| NVIDIA GPU 4090 | 232 sec | 89.4 sec (x2.59) | 77 sec (x3.01) |

```
import time
import numpy as np
import os
import cv2 as cv

# os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "hwaccel;cuvid|video_codec;h264_cuvid|vsync;0"

start = time.time()
video = "test.mp4"
cap = cv.VideoCapture(video, cv.CAP_FFMPEG)
while True:
    has_frame, frame = cap.read()
    if not has_frame:
        break

print(time.time() - start)
```

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-09-09 14:21:18 +03:00
Kumataro 9196edd299 Merge pull request #27559 from Kumataro:fix27555
imgcodecs: bmp: support to write 32bpp BMP with BI_BITFIELDS #27559

### 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-09-09 09:23:43 +03:00
Alexander Smorkalov ee41f46b46 Merge pull request #27758 from asmorkalov:as/stitching_false_overload
Renamed templated BlocksCompensator::feed method to exclude claches with base class pure virtual method
2025-09-08 18:19:10 +03:00
Nadezhda Mizonova 9663b582a2 Merge pull request #27720 from nmizonov:fix_ipp_bilateral_tiling
Set limitation to IPP Bilateral Filter tiles number to avoid too small tiles #27720

### Pull Request Readiness Checklist

This PR fixes the following issue in Bilateral Filter tiling in IPP integration: image ROI can't be closer to the image border than the filter window radius. This issue shows itself during separation of the image to tiles for multithreaded processing. If the tile size small enough, the second tile is closer to the upper image border than the bilateral filter radius, which leads to the incorrect result. To fix this, we need a limitation to the tile size - done in this PR.

_Note: red build status looks like unrelated to the current change_

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-09-08 16:11:20 +03:00
Alexander Smorkalov b28d9bef1d Renamed templated BlocksCompensator::feed method to exclude claches with base class pure virtual method. 2025-09-08 14:52:58 +03:00
cudawarped 54b03cc2f8 Merge pull request #27737 from cudawarped:fix_videowriter_raw_return_code
[videoio][VideoWriter] Fix return code from CvVideoWriter_FFMPEG::writeFrame() when encapsulating encoded video #27737

Currently the return code from `CvVideoWriter_FFMPEG::writeFrame()` when `encode_video==true` (encapsulating raw encoded video) is wrong and results in the following warning implying it has been unsuccessful

> [ WARN:0@15.551] global cap_ffmpeg.cpp:198 write FFmpeg: Failed to write frame

### 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
- [ ] 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-09-08 12:34:49 +03:00
Kumataro 98a70539cc Merge pull request #27730 from Kumataro:fix27729
doc: fix doxygen warnings for imgcodecs, flann and objdetect #27730

Close https://github.com/opencv/opencv/issues/27729

### 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-09-08 10:35:01 +03:00
Alexander Smorkalov b52feed94d Merge pull request #27728 from MaximSmolskiy:remove_useless_variables_from_fitEllipse_tests
Remove useless variables from fitEllipse tests
2025-09-08 09:51:49 +03:00
Alexander Smorkalov 3d3e962652 Merge pull request #27745 from nina16448:fix_1
Fix typos in documentation
2025-09-08 09:51:05 +03:00
Dmitry Kurtaev 65cb3fd86c Merge pull request #27741 from dkurt:libpng_1.6.45
libpng upgrade to 1.6.45 and cICP metadata support for PNG imwrite #27741

### Pull Request Readiness Checklist

resolves #24185

libpng docs: https://www.w3.org/TR/png-3/#cICP-chunk
similar code from ffmpeg: https://github.com/FFmpeg/FFmpeg/blob/a700f0f72d1f073e5adcfbb16f4633850b0ef51c/libavcodec/pngenc.c#L452-L456

So issue #24185 can be solved by replacing `cv.imwrite` in user's code to `cv.imwriteWithMetadata`:
```python
cv.imwriteWithMetadata("frame.png", frame, [cv.IMAGE_METADATA_CICP], np.array([[9, 18, 0, 1]], np.uint8))
```
```
$ exiftool /home/d.kurtaev/opencv_build/frames_pr/image_38.png
ExifTool Version Number         : 12.76
File Name                       : image_38.png
Directory                       : /home/d.kurtaev/opencv_build/frames_pr
File Size                       : 3.8 MB
File Modification Date/Time     : 2025:09:02 20:48:22+03:00
File Access Date/Time           : 2025:09:02 20:48:22+03:00
File Inode Change Date/Time     : 2025:09:02 20:48:22+03:00
File Permissions                : -rw-r--r--
File Type                       : PNG
File Type Extension             : png
MIME Type                       : image/png
Image Width                     : 1080
Image Height                    : 1920
Bit Depth                       : 8
Color Type                      : RGB
Compression                     : Deflate/Inflate
Filter                          : Adaptive
Interlace                       : Noninterlaced
Color Primaries                 : BT.2020, BT.2100
Transfer Characteristics        : BT.2100 HLG, ARIB STD-B67
Matrix Coefficients             : Identity matrix
Video Full Range Flag           : 1
Image Size                      : 1080x1920
Megapixels                      : 2.1
```

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.
- [x] The feature is well documented and sample code can be built with the project CMake
2025-09-08 09:49:26 +03:00
Alexander Smorkalov e22c1065ec Merge pull request #27742 from asmorkalov:as/clang21
Build fix for Clang 21.
2025-09-08 08:57:57 +03:00
Dmitry Kurtaev 443d0ae63f Merge pull request #27746 from dkurt:d.kurtaev/av_packet_side_data_get
fix: FFmpeg 8.0 support #27746

### Pull Request Readiness Checklist

related comment: https://github.com/opencv/opencv/pull/27691#discussion_r2322695640

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-09-08 08:52:56 +03:00
Kumataro d9572861d1 png: add setjmp() to detect libpng internal error 2025-09-05 20:07:56 +09:00
nina16448 92e2c67896 fix typos 2025-09-05 01:00:28 +08:00
Alexander Smorkalov f51f2f6797 Build fix for Clang 21. 2025-09-03 16:43:18 +03:00
Arsenii Rzhevskii e41ce4dbf4 Fix memory leaks in pybindings 2025-09-02 17:35:41 +02:00
cudawarped ca35ed2f1c cuda: add compatibility layer for depreciated vector types 2025-09-01 13:25:50 +03:00
MaximSmolskiy 518735b509 Remove useless variables from fitEllipse tests 2025-08-30 00:42:33 +03:00
Maxim Smolskiy 6d889ee74c Merge pull request #27717 from MaximSmolskiy:improve_fitellipsedirect_tests
Improve fitEllipseDirect tests #27717

### Pull Request Readiness Checklist

Previous `fit_and_check_ellipse` implementation was very weak - it only checks that points center lies inside ellipse.
Current implementation `fit_and_check_ellipse` checks that points RMS (Root Mean Square) algebraic distance is quite small. It means that on average points are near boundary of ellipse. Because for points on ellipse algebraic distance is equal to `0` and for points that are close to boundary of ellipse is quite small

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-08-29 13:16:22 +03:00
Alexander Smorkalov 2ae5a1ee27 Merge pull request #27706 from kallaballa:enable_hog_with_inter_linear
HOG: stay on fast-path by using INTER_LINEAR resize when ALGO_HINT_APPROX is defined
2025-08-29 13:14:20 +03:00
Alexander Smorkalov e4a7bab00e Merge pull request #27677 from kallaballa:data_races_in_ocl_cpp2
Added source comments to mark TSAN false positives
2025-08-29 13:13:03 +03:00
Alexander Smorkalov 0e9c3b5a3b Fixed Subdiv2D constructor overload. 2025-08-27 11:37:39 +03:00
Maxim Smolskiy ad560f69f4 Merge pull request #27704 from MaximSmolskiy:fix_checking_that_point_lies_inside_ellipse
Fix checking that point lies inside ellipse #27704

### Pull Request Readiness Checklist

Previous `check_pt_in_ellipse` implementation was incorrect. For points on ellipse `cv::norm(to_pt)` should be equal to `el_dist`.

I tested current implementation with following Python script:
```
import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse

def check_pt_in_ellipse(pt, el):
    center, axes, angle = ellipse
    to_pt = pt - center
    el_angle = angle * np.pi / 180
    to_pt_r_x = to_pt[0] * np.cos(-el_angle) - to_pt[1] * np.sin(-el_angle)
    to_pt_r_y = to_pt[0] * np.sin(-el_angle) + to_pt[1] * np.cos(-el_angle)
    pt_angle = np.arctan2(to_pt_r_y / axes[1], to_pt_r_x / axes[0])
    x_dist = 0.5 * axes[0] * np.cos(pt_angle)
    y_dist = 0.5 * axes[1] * np.sin(pt_angle)
    el_dist = np.sqrt(x_dist * x_dist + y_dist * y_dist)
    assert abs(np.linalg.norm(to_pt) - el_dist) < 1e-10

# TEST(Imgproc_FitEllipse_Issue_4515, accuracy) {
points = np.array([
    [327, 317],
    [328, 316],
    [329, 315],
    [330, 314],
    [331, 314],
    [332, 314],
    [333, 315],
    [333, 316],
    [333, 317],
    [333, 318],
    [333, 319],
    [333, 320],
])

ellipse = cv2.fitEllipseDirect(points)

center, axes, angle = ellipse

angle_rad = np.deg2rad(angle)
points_on_ellipse = []
for point_angle_deg in range(0, 360, 10):
    point_angle = np.deg2rad(point_angle_deg)
    point = np.array([0., 0.])
    point_x = axes[0] * 0.5 * np.cos(point_angle)
    point_y = axes[1] * 0.5 * np.sin(point_angle)
    point[0] = point_x * np.cos(angle_rad) - point_y * np.sin(angle_rad)
    point[1] = point_x * np.sin(angle_rad) + point_y * np.cos(angle_rad)
    point[0] += center[0]
    point[1] += center[1]
    points_on_ellipse.append(point)

points_on_ellipse = np.array(points_on_ellipse)

for point in points_on_ellipse:
    check_pt_in_ellipse(point, ellipse)

plt.figure(figsize=(8, 8))
plt.scatter(points[:, 0], points[:, 1], c='red', label='points')
plt.scatter(points_on_ellipse[:, 0], points_on_ellipse[:, 1], c='yellow', label='ellipse')
ellipse = Ellipse(xy=center, width=axes[0], height=axes[1], 
                  angle=angle, facecolor='none', edgecolor='b')
plt.gca().add_patch(ellipse)
plt.gca().set_aspect('equal')
plt.legend()
plt.show()
```

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-08-26 14:02:53 +03:00
Alexander Smorkalov ff9da98c7c Merge pull request #27708 from utibenkei:fix_java_wrapper_missing_vector_vector_matshape
Add Java wrapper support for List<List<MatShape>>
2025-08-26 09:42:31 +03:00
eplankin 3e404004e0 Merge pull request #27612 from eplankin:icv_update_2022.2
Update IPP integration (v2022.2.0) #27612

Please merge together with https://github.com/opencv/opencv_3rdparty/pull/102
Supported IPP version was updated to IPP 2022.2.0 for Linux and Windows.

Previous update: https://github.com/opencv/opencv/pull/27354
2025-08-25 18:14:03 +03:00
utibenkei 81b66cf972 Add Java wrapper support for List<List<MatShape>>
- Added vector_MatShape and vector_vector_MatShape to gen_dict.json
- Implemented MatShape_to_vector_MatShape, vector_MatShape_to_MatShape, MatShape_to_vector_vector_MatShape, and vector_vector_MatShape_to_MatShape conversion functions in dnn_converters.h/cpp and Converters.java
- Added testGetLayersShapes test to verify List<List<MatShape>> conversion
2025-08-25 02:09:19 +09:00
Alexander Smorkalov 7a4bd85299 Merge pull request #27705 from utibenkei:fix_java_wrapper_missing_vector_vector_mat
Add Java wrapper support for List<List<Mat>>
2025-08-24 17:16:31 +03:00
Alexander Smorkalov 86df531554 Merge pull request #27691 from asmorkalov:as/fmmpeg_8.0
FFmpeg 8.0 support.
2025-08-24 17:10:41 +03:00
kallaballa f81240f57b stay on fast-path by using INTER_LINEAR resize when ALGO_HINT_APPROX is used 2025-08-23 19:48:04 +02:00
utibenkei fb68223b5c Add Java wrapper support for List<List<Mat>>
- Added vector_vector_Mat to gen_dict.json
- Implemented Mat_to_vector_vector_Mat and vector_vector_Mat_to_Mat conversion functions in converters.h/cpp and Converters.java
- Added DnnForwardAndRetrieve.java test to verify List<List<Mat>> conversion : Reference: C++ test in modules/dnn/test/test_misc.cpp - TEST(Net, forwardAndRetrieve)
2025-08-23 04:57:34 +09:00
utibenkei 28d410cecf Merge pull request #27567 from utibenkei:fix-java-wrapper-missing-vec4i
Enable Java wrapper generation for Vec4i #27567 
 
Fixes an issue where Java wrapper generation skips methods using Vec4i.
Related PR in opencv_contrib: https://github.com/opencv/opencv_contrib/pull/3988

The root cause was the absence of Vec4i in gen_java.json, which led to important methods such as aruco.drawCharucoDiamond() and ximgproc.HoughPoint2Line() being omitted from the Java bindings.

This PR includes the following changes:

- Added Vec4i definition to gen_java.json
- Updated gen_java.py to handle jintArray-based types properly
- ~~Also adjusted jn_args and jni_var for Vec2d and Vec3d to ensure correct JNI behavior~~

The modified Java wrapper generator successfully builds and includes the expected methods using Vec4i.

### 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-08-20 15:06:33 +03:00
Alexander Smorkalov 719b86bd1d Merge pull request #27682 from asmorkalov:as/ios_bindings_fix
Fixed duplicate declaration issue in Swift/ObjC bindings
2025-08-20 12:58:41 +03:00
Alexander Smorkalov 0986022bcb Merge pull request #27689 from asmorkalov:as/pyton_wrap_gridtype
Wrap cicles grid GridType as settings structure is useless without it.
2025-08-20 12:58:14 +03:00
Dmitry Kurtaev ba19416730 Merge pull request #27581 from dkurt:d.kuryaev/dlpack
### Pull Request Readiness Checklist

resolves #16295

```
docker run --gpus 0 -v ~/opencv:/opencv -v ~/opencv_contrib:/opencv_contrib -it nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04
apt-get update && apt-get install -y cmake python3-dev python3-pip python3-venv &&
python3 -m venv .venv &&
source .venv/bin/activate &&
pip install -U pip &&
pip install -U numpy &&
pip install torch --index-url https://download.pytorch.org/whl/cu128 &&
cmake \
    -DWITH_OPENCL=OFF \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_DOCS=OFF \
    -DWITH_CUDA=ON \
    -DOPENCV_DNN_CUDA=ON \
    -DOPENCV_EXTRA_MODULES_PATH=/opencv_contrib/modules \
    -DBUILD_LIST=ts,cudev,python3 \
    -S /opencv -B /opencv_build &&
cmake --build /opencv_build -j16
export PYTHONPATH=/opencv_build/lib/python3/:$PYTHONPATH
```

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-08-20 11:43:41 +03:00
Alexander Smorkalov 0b84a54a65 Fixed duplicate declaration issue in Swift/ObjC bindings. 2025-08-20 11:14:03 +03:00