1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 15:23:05 +04:00
Commit Graph

35906 Commits

Author SHA1 Message Date
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 a56877a016 Silence unreferenced function with internal linkage has been removed warnings on windows
e.g.

contrib\modules\cudev\include\opencv2\cudev/ptr2d/warping.hpp(86): warning C4505: 'cv::cudev::affineMap': unreferenced function with internal linkage has been removed
contrib\modules\cudev\include\opencv2\cudev/ptr2d/warping.hpp(134): warning C4505: 'cv::cudev::perspectiveMap': unreferenced function with internal linkage has been removed
2025-09-01 16:43:04 +03: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
Fanchen Kong bfdd7d5a10 Add large scalar kernel for fastconv 2025-08-28 15:25:06 +08:00
Alexander Smorkalov d9556920dc Merge pull request #27718 from asmorkalov:as/obj_construct_fix
Fixed Subdiv2D constructor overload.
2025-08-27 13:48:58 +03:00
Alexander Smorkalov 0e9c3b5a3b Fixed Subdiv2D constructor overload. 2025-08-27 11:37:39 +03:00
damon-spacemit ad22d482e6 Merge pull request #27378 from spacemit-com:4.x
Add canny, scharr and sobel for riscv-rvv hal. #27378

### 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-26 20:05:08 +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
Johnny 1e37d84e3a Merge pull request #27537 from johnnynunez:patch-2
Refactor Blackwell #27537

In CUDA 13:
- 10.0 is b100/b200 same for aarch64 (gb200)
- 10.3 is GB300
- 11.0 is Thor with new OpenRm driver (moves to SBSA)
- 12.0 is RTX/RTX PRO
- 12.1 is Spark GB10

Thor was moved from 10.1 to 11.0 and Spark is 12.1.
Related patch: https://github.com/pytorch/pytorch/pull/156176
2025-08-20 11:29:31 +03:00
Alexander Smorkalov 0b84a54a65 Fixed duplicate declaration issue in Swift/ObjC bindings. 2025-08-20 11:14:03 +03:00
Alexander Smorkalov 90c444abd3 FFmpeg 8.0 support. 2025-08-20 10:53:51 +03:00
Alexander Smorkalov 319e8e7a43 Wrap cicles grid GridType as settings structure is useless without it. 2025-08-20 09:06:00 +03:00
Alexander Smorkalov 32c6aee53d Merge pull request #27687 from asmorkalov:as/virtual_warn_fix
Fixed -Wunnecessary-virtual-specifier warning produced latest clang.
2025-08-20 09:03:17 +03:00
Suleyman TURKMEN d9c0ee234f Merge pull request #27679 from sturkmen72:libtiff-4.7.0
libtiff upgrade to version 4.7.0 #27679 
 
### 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-19 13:29:17 +03:00
Alexander Smorkalov 13a2919ec0 Fixed -Wunnecessary-virtual-specifier warning produced latest clang. 2025-08-19 12:28:15 +03:00
Alexander Smorkalov 920040d72e Merge pull request #27683 from asmorkalov:as/calib_tutorial_logic_fix
Fixed logical error in camera calibration tutorial.
2025-08-18 17:19:27 +03:00
Alexander Smorkalov 52ae1cfc29 Fixed logical error in camera calibration tutorial. 2025-08-18 13:07:09 +03:00
Alexander Smorkalov a7ff9087f9 Merge pull request #27680 from Kumataro:fix27626
add DEBUG_POSTFIX to ipphal
2025-08-18 11:57:33 +03:00
Kumataro 078563288e add DEBUG_POSTFIX to ipphal 2025-08-17 08:19:52 +09:00
Alexander Smorkalov eab6d5741a Merge pull request #27663 from asmorkalov:as/orbsensor_distortion
Expose Orbbec color camera distortion coefficients as API.
2025-08-15 15:11:47 +03:00
Aditya Jha 7a1ec54c43 Merge pull request #27641 from Ma-gi-cian:subdiv2d-rect2f-clean
Subdiv2d rect2f clean #27641

Closes https://github.com/opencv/opencv/issues/27623

Changes:

- Added Subdiv2D(Rect2f) constructor overload
- Added initDelaunay(Rect2f) method overload

- No changes to the previous implementation to keep it backward compatible
- Added tests for init and testing with edge case of extremely small coordinates

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

See original pull request at : https://github.com/opencv/opencv/pull/27631
2025-08-15 15:05:27 +03:00
Alexander Smorkalov 9909d0a7d2 Merge pull request #27675 from dkurt:4.x
Skip test_cuda_copyTo
2025-08-15 10:54:40 +03:00
Alexander Smorkalov c27f5a3905 Merge pull request #27659 from asmorkalov:as/interactive_empty_frames
Skip couple of intro frames in interactive calibration tool, if VideoCapture is opened correctly
2025-08-15 09:32:14 +03:00
kallaballa 056e761bbc added source comments to mark TSAN false positives. see: #27638 2025-08-15 01:17:54 +02:00
Dmitry Kurtaev ae4b4c210d Skip test_cuda_copyTo 2025-08-14 15:41:24 +03:00
Alexander Smorkalov 84dc1e93c5 Merge pull request #27670 from dkurt:skip_py_cuda_test
Skip test_cuda_convertTo
2025-08-14 15:13:17 +03:00
Dmitry Kurtaev fa134b95fd Skip test_cuda_convertTo 2025-08-14 11:56:31 +03:00
Alexander Smorkalov fe874b8f36 Merge pull request #27668 from cudawarped:python_loader_fix_cuda_13_path
[python][cuda] Update CUDA shared library location for CUDA Toolkit 13.0 on Windows
2025-08-14 09:52:47 +03:00
cudawarped 850919e10b [python][cuda] Update CUDA shared library location for CUDA Toolkit 13.0 2025-08-13 21:59:59 +03:00
Alexander Smorkalov a8afdee984 Merge pull request #27664 from ansh1406:fix-opencv-videoio-dshow-missing-override
videoio: add missing CV_OVERRIDE to VideoCapture_DShow::isOpened()
2025-08-13 10:02:43 +03:00
Ansh Swaroop 88fb0bad69 videoio: add missing CV_OVERRIDE to VideoCapture_DShow::isOpened()
This aligns with other virtual method declarations in cap_dshow.hpp
and silences compiler warnings (-Wsuggest-override) while improving
compile-time safety.
2025-08-13 02:28:44 +05:30
Madan mohan Manokar 2762ffe7cc Merge pull request #27433 from amd:fast_bilateral_simd
imgproc: Bilateral filter performance improvement #27433

### 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-08-12 17:50:44 +03:00