35906 Commits

Author SHA1 Message Date
Alexander Smorkalov
6d52d416e8 Merge pull request #28026 from harunresit:fix-27966-torch
Unnecessary copy of Mat object is fixed in TorchImporter
2025-11-17 10:54:51 +03:00
Anshu
8fec01d73e Merge pull request #28017 from 0AnshuAditya0:fix-audio-buffer-calculation-27969
Optimize audio buffer duration calculation in MSMF capture. Fixes #27969 #28017

### Description
Cache the repeated calculation of `(bit_per_sample/8)*nChannels` in a local variable to avoid redundant computations in `grabFrame()` and `configureAudioFrame()` functions.

### Changes
- Added `bytesPerSample` local variable in both functions
- Replaced 6 repeated calculations with the cached variable
- Improves performance in frequently called audio processing code

Fixes #27969
2025-11-17 10:52:11 +03:00
harunresit
7a0b9f35b5 Initial commit 2025-11-16 21:20:33 +01:00
Alexander Smorkalov
5bec733bfb Merge pull request #28015 from bebuch:fix-msvc-vs-2026
add MSVC 19.50 / VS 2026 / VC 18 to config: fix #28013
2025-11-16 19:25:03 +03:00
Alexander Smorkalov
42cf71285e Merge pull request #28018 from satyam102006:fix/dnn-torchimporter-pad-allocation
Update torch_importer.cpp
2025-11-16 18:47:33 +03:00
satyam yadav
27d106d574 Update torch_importer.cpp 2025-11-16 15:00:50 +03:00
Alexander Smorkalov
723bcb9a7b Merge pull request #28010 from asmorkalov:as/solve_pnp_iterative
Solve PnP iterative documentation update
2025-11-16 14:48:24 +03:00
harunresit
f26d7e1bf4 Merge pull request #28014 from harunresit:fix-28002-clahe
Added BitShift option to CLAHE #28014

Briefly, this PR is the fix of https://github.com/opencv/opencv/issues/28002

### 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-11-16 14:45:50 +03:00
Alexander Smorkalov
45f37fe9c8 Merge pull request #28020 from Kumataro:fix28013_doc
Update windows_install.markdown - add set opencv path for vc18
2025-11-16 14:25:23 +03:00
Kumataro
f8e5bf07af Update windows_install.markdown - add set opencv path for vc18 2025-11-16 08:45:06 +09:00
omaraziz255
3dce4fa655 Merge pull request #27943 from omaraziz255:docs/py-pip-install
docs(py): add pip-based install tutorial #27943

- New tutorial: `doc/tutorials/py_tutorials/py_setup/py_pip_install/py_pip_install.markdown` with anchor `{#tutorial_py_pip_install}`.
- Python setup TOC updated to include the new page near the top.
- Windows/Ubuntu/Fedora pages: added **Quick start (pip)** callout
- Expanded troubleshooting in the pip tutorial (env mismatch, headless GUI notes, wheel mismatches, Raspberry Pi/ARM guidance).

This aligns with the issue request to make `pip install opencv-python` the default path for Python newcomers and reduce confusion from legacy content.

Fixes #24360 
### 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-11-14 18:07:30 +03:00
Benjamin Buch
91a720144b add MSVC 19.50 / VS 2026 / VC 18 to config: fix #28013 2025-11-14 15:44:58 +01:00
Alexander Smorkalov
990d9d1a4f Solve PnP iterative documentation update 2025-11-14 11:00:48 +03:00
Alexander Smorkalov
1abc90c178 Merge pull request #27979 from ssam18:fix-reproducible-builds-27961
Fix #27961: Support reproducible builds by making host system version optional
2025-11-14 10:21:12 +03:00
Alexander Smorkalov
9dbae59760 Merge pull request #28008 from penghuiho:fix-moments-ocl
Unblocked OpenCL implementation of cv::moments
2025-11-13 18:19:41 +03:00
Alexander Smorkalov
412e6d9949 Merge pull request #28009 from vrabaud:protolite
Fix out of bounds in calibrateAndNormalizePointsPnP
2025-11-13 15:01:33 +03:00
Vincent Rabaud
49fc1dd796 Fix out of bounds in calibrateAndNormalizePointsPnP
ipoints can have 3 or 4 points.
2025-11-13 11:14:39 +01:00
Alessandro de Oliveira Faria (A.K.A.CABELO)
45d233f7bf Merge pull request #28003 from cabelo:oneapi
Building OpenCV with oneAPI #28003

### 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-11-13 10:30:35 +03:00
Dmitry Kurtaev
5c02d32cca Merge pull request #28000 from dkurt:d.kurtaev:reset_winograd_impl
### Pull Request Readiness Checklist

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

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

- [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-11-13 09:19:46 +03:00
penghuiho
4c1f32e716 Fix the issue of obtaining the size of the _src 2025-11-13 13:57:41 +08:00
Yuantao Feng
78adab13e9 Merge pull request #27479 from fengyuentau:4x/imgproc/boundingRect-simd
imgproc: supports CV_SIMD_SCALABLE in pointSetBoundingRect #27479

### 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-11-12 18:44:41 +03:00
Alexander Smorkalov
8f0c9ffe90 Merge pull request #27997 from VadimLevin:dev/vlevin/fix-alias-type-node-resolved-typename
fix: use export_name as resolved typename for AliasTypeNode
2025-11-12 11:31:48 +03:00
Alexander Smorkalov
a31a52adef Merge pull request #27992 from asmorkalov:as/HoughLines_bias
Fixed standard HoughLines output shift for rho. #27992

Closes: https://github.com/opencv/opencv/issues/25038
Replaces: https://github.com/opencv/opencv/pull/25043

Merge with https://github.com/opencv/opencv_extra/pull/1288

The original implementation introduces systematic shift (-rho/2) for odd indexes. Integer division just gives proper rounding.

### 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-11-12 11:30:14 +03:00
Vadim Levin
17ce5a290b fix: use export_name as resolved typename for AliasTypeNode
Use ctype_name as export name for AliasTypeNode if export name is not
explicitly provided.
2025-11-12 10:30:31 +03:00
Alexander Smorkalov
adaa369bb1 Merge pull request #27881 from asmorkalov:as/new_windows_ci
Switch to new Windows CI pipelines.
2025-11-11 14:50:38 +03:00
victorget
3e49b6fa93 Merge pull request #27925 from intel-staging:dev/enforce_ipp_define
Added CMake define option to enforce IPP calls in IPP HAL when building with IPP integration #27925

Extra build option needed to simplify custom builds with IPP integration to ensure the IPP calls done even in cases when the results are not bitwise compliant to the reference OpenCV implementation. Option name is ```WITH_IPP_CALLS_ENFORCED```, and it is disabled by default.

Requested by some IPP customers and might be used in general as a way providing calls with better performance for the cases the aligned precision is not as important aspect.

Supposed to be used in HAL only, so added only in IPP HAL CMake, currently it affects only Warp Affine, Warp Perspective and Remap integrations since the results may vary depending on HW and algorithm implementations.

### 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-11-11 13:30:47 +03:00
Alexander Smorkalov
5b2976f27b Switch to new Windows CI pipelines. 2025-11-11 13:23:28 +03:00
Alexander Smorkalov
2dd0ac3122 Merge pull request #27991 from asmorkalov:as/gapi_unrich_ctor
Fixed unrichable code with MSVC on x86 32-bit systems. #27991

Suppress the following warnings:
```
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\file_data_provider.cpp(131): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(77): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(82): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(103): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(90): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(94): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(86): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\onevpl\source.cpp(99): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\gstreamer\gstreamersource.cpp(366): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\gstreamer\gstreamersource.cpp(360): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
  Warning: C:\GHA-OCV-5\_work\opencv\opencv\opencv\modules\gapi\src\streaming\gstreamer\gstreamerpipeline.cpp(77): warning C4702: unreachable code [C:\GHA-OCV-5\_work\opencv\opencv\build\modules\gapi\opencv_gapi.vcxproj]
```

### 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-11-10 18:26:07 +03:00
Alexander Smorkalov
83026bfe87 Merge pull request #27990 from asmorkalov:as/power9_build_fix
Fix missing vec_cvfo on IBM POWER9 due to unavailable VSX float64 conversion #27990 

Replaces https://github.com/opencv/opencv/pull/27633
Closes https://github.com/opencv/opencv/issues/27635

### 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-11-10 12:11:24 +03:00
happy-capybara-man
db207c88b0 Merge pull request #27985 from happy-capybara-man:docs/fix-mat-clone-js
docs(js): Fix Mat.clone() documentation to use mat_clone() for deep copy #27985

- Update code example to use ```mat_clone()``` instead of ```clone()```
- Add explanatory note about shallow copy issue due to Emscripten embind
Problem
- OpenCV.js documentation shows ```Mat.clone()``` usage, but this method performs shallow copy instead of deep copy due to Emscripten embind limitations, causing unexpected behavior where modifications to cloned matrices affect the original.

Related Issues and PRs
- Fixes documentation aspect of issue #27572
- Related to PR #26643 (js_clone_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
- [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-11-10 10:47:40 +03:00
Alexander Smorkalov
64bbaa9f41 Merge pull request #27972 from asmorkalov:as/dst_mat_type
Force empty output type where it's defined in API #27972

The PR replaces:
- https://github.com/opencv/opencv/pull/27936
- https://github.com/opencv/opencv/pull/21059

Empty matrix has undefined type, so user code should not relay on the output type, if it's empty. The PR introduces some exceptions:
- copyTo documentation defines, that the method re-create output buffer and set it's type.
- convertTo has output type as parameter and output type is defined and expected.
2025-11-10 08:00:17 +03:00
Suleyman TURKMEN
386be68f93 Merge pull request #27981 from sturkmen72:fix_alpha_handling
Fix alpha handling for blending in PNG format #27981

### Pull Request Readiness Checklist

closes #27974

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-11-09 18:23:13 +03:00
Alexander Smorkalov
87436149a5 Merge pull request #27980 from ssam18:fix-grabcut-type-conversion-27968
Fix #27968: Eliminate unnecessary type conversions in GrabCut initGMMs
2025-11-09 17:30:07 +03:00
Alexander Smorkalov
964e23aa6c Merge pull request #27983 from Kumataro:fix27982
imgcodecs: Suppress unknown metadata type warning
2025-11-09 12:06:28 +03:00
Kumataro
3402fc1f6d imgcodecs: Suppress unknown metadata type warning 2025-11-09 09:59:55 +09:00
Samaresh Kumar Singh
603bc58d3b Fix #27968: Eliminate unnecessary type conversions in GrabCut initGMMs
Remove performance bottleneck caused by redundant type conversions in the
initGMMs() function's tight nested loops that iterate over all image pixels.

Changes:
- Changed storage vectors from Vec3f to Vec3b to store pixel data directly
  without intermediate conversion
- Modified kmeans preparation to convert Vec3b data to CV_32FC1 only when
  creating the Mat for clustering (using convertTo instead of per-pixel cast)
- Explicitly convert Vec3b to Vec3d only when calling addSample() method

Performance Impact:
Previously: Vec3b -> Vec3f (in loop) -> Vec3d (implicit in addSample)
Now: Vec3b (in loop) -> Vec3d (explicit, only in addSample call)

This eliminates one unnecessary type conversion per pixel in the tight loop,
reducing computational overhead especially for large images.

Fixes #27968
2025-11-08 13:16:01 -06:00
Samaresh Kumar Singh
7224bced8b Fix #27961: Support reproducible builds by making host system version optional
Add BUILD_INFO_SKIP_SYSTEM_VERSION option to exclude the host kernel version
from build outputs, enabling reproducible builds across systems with different
kernel versions.

Changes:
- Modified CMakeLists.txt to conditionally include CMAKE_HOST_SYSTEM_VERSION
  in the build platform status based on BUILD_INFO_SKIP_SYSTEM_VERSION flag
- Updated 3rdparty/tbb/CMakeLists.txt to set TBB_HOST_VERSION conditionally
- Modified 3rdparty/tbb/version_string.ver.cmakein to use the new variable

When BUILD_INFO_SKIP_SYSTEM_VERSION=ON is set, the host system version is
excluded from both the CMake status output and the TBB version strings,
producing identical binaries on equivalent build systems regardless of
kernel version differences.

Default behavior is unchanged (version included) for backward compatibility.

Fixes #27961
2025-11-08 09:16:11 -06:00
Ismail Abou Zeid
5fb4ce482c Merge pull request #27950 from ismailabouzeidx:feat/estimate-translation2d
[calib3d] Add estimateTranslation2D() #27950

Merge with opencv_extra PR: opencv/opencv_extra#1286

### **Description**

This PR adds a new API, `cv::estimateTranslation2D()`, to the **calib3d** module.  
It computes a **pure 2D translation** between two sets of corresponding points using robust methods (`RANSAC` and `LMedS`).  
The function mirrors the interface and behavior of `estimateAffine2D()` and `estimateAffinePartial2D()`, but constrains the transformation to translation only.

This model is particularly useful for cases where the motion between images is purely translational, such as:
- Aerial stitching and planar mosaics.  
- Image alignment in fixed-camera systems.  
- Lightweight pipelines where affine or homography models are unnecessarily complex.

The implementation introduces a new internal class `Translation2DEstimatorCallback` and integrates seamlessly into OpenCV’s existing robust estimation framework (`PointSetRegistrator`).

---

### **Key Features**
- Implements `cv::estimateTranslation2D()` in the `calib3d` module.
- Supports robust methods **RANSAC** and **LMedS**.  
- Adds accuracy and performance tests.  
- Provides full **C++ and Python bindings**.  
- Includes **Doxygen documentation** consistent with OpenCV’s standards.  
- Verified correctness across noise, outlier, and datatype variations.

---
### **Testing & Verification**

**Unit Tests** (`modules/calib3d/`)

- **Minimal sample:**  
  `test1Point` validates that a single correspondence recovers the correct translation under both **RANSAC** and **LMedS** across 500 randomized trials.  
- **Robustness to noise and outliers:**  
  `testNPoints` generates 100 correspondences, injects noise and outliers (≤40% for RANSAC, ≤50% for LMedS), and verifies that:  
  - Estimated **T** closely matches ground truth (`cvtest::norm(..., NORM_L2)`).  
  - Inlier mask consistency and correctness are maintained.  
- **Datatype conversion:**  
  `testConversion` checks mixed input datatypes (integer → float) to ensure correct conversion and consistent results.  
- **Input immutability:**  
  `dont_change_inputs` confirms that input arrays remain unchanged after function execution, mirroring affine behavior.

**Performance Tests** (`modules/calib3d/`)

- `EstimateTranslation2DPerf` benchmarks **RANSAC** and **LMedS** using:  
  - Point counts: 1000  
  - Confidence levels: 0.95  
  - Refinement iterations: 10, 0  
  
These tests confirm **numerical stability**, **performance scaling**, and **consistency** across datatypes and noise levels.

---
### 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 (`4.x`)
- [x] There is a clear description, motivation, and validation summary in this PR
- [x] There are accuracy and performance tests in the calib3d module
- [x] The feature is well documented and sample code can be built with CMake
- [x] The feature has Python bindings and verified documentation output
- [x] There is test data or sample code in the opencv_extra repository (if applicable)
- [ ] There is a reference to the original bug report or related issue (if applicable)
2025-11-08 17:27:54 +03:00
Alexander Smorkalov
9921531fa4 Merge pull request #27976 from asmorkalov:as/size_t_fix_win32
Fixed ptrdiff_t cast on windows 32-bit #27976

### 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-11-08 17:07:36 +03:00
Alexander Smorkalov
6862afb2c1 Merge pull request #27977 from asmorkalov:as/proper_ffmpeg_diagnostic_windows_arm
Fixed pre-built ffmpeg diagnostics on Windows for ARM. #27977

### 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-11-08 11:24:24 +03:00
sirudoi
881774d872 Merge pull request #27930 from sirudoi:4.x
Add macOS support for Orbbec Gemini330 camera #27930

### Description of Changes
Adds macOS support for Orbbec Gemini330 in videoio by integrating OrbbecSDK v2. Completes the non-macOS work in [#27230](https://github.com/opencv/opencv/pull/27230).

#### Motivation

[#27230](https://github.com/opencv/opencv/pull/27230) skipped macOS. On macOS, UVC alone lacks required device controls; OrbbecSDK v2 provides them.

#### Key Change
 - macOS: fetch/link OrbbecSDK v2.5.5 (replaces v1.9.4).
 - videoio (macOS): switch OrbbecSDK API usage from v1 to v2.

### 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] The feature is well documented and sample code can be built with the project CMake
2025-11-07 10:36:11 +03:00
Pierre Chatelier
9fc556a83e Merge pull request #27366 from chacha21:arrowedLine_clipped
Try to fix distant points to save time when ThickLine() calls FillConvexPoly() #27366

Proposal for #27365

cv::clipLine() is useful, but one should take care of a margin to preserve line caps.

### 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-11-07 10:34:52 +03:00
Alexander Smorkalov
426aa598e7 Merge pull request #27960 from vrabaud:protolite
Allow protobuffer message to be compiled with LITE_RUNTIME
2025-11-06 10:06:15 +03:00
Vincent Rabaud
1691a2355c Allow protobuffer message to be compiled with LITE_RUNTIME
When adding "option optimize_for = LITE_RUNTIME;" to proto
messages, they are compiled as lighter MessageLite (the base class
of Message).

Those lighter messages do not allow for reflection though:

https://developers.google.com/protocol-buffers/docs/reference/cpp-generated

This fixes https://github.com/opencv/opencv/issues/20275
2025-11-05 14:42:20 +01:00
abhijeetraj10-web
2f22bdf477 Merge pull request #27959 from abhijeetraj10-web:fix-patchNaNs-doc
Clarified supported types in cv::patchNaNs() documentation #27959

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

Updated the docs for cv::patchNaNs() to specify that both CV_32F and CV_64F types are supported. Fixes incomplete information.
2025-11-05 14:42:12 +03:00
Alexander Smorkalov
d3d247f1e3 Merge pull request #27962 from Tuchis:fix-fisheye-documentation
Remove mention of 'tangential lens distortion' from fisheye documentation.
2025-11-05 12:22:45 +03:00
Alexander Smorkalov
ec60a98ac6 Merge pull request #27963 from vrabaud:js
Fix generation when returned class and function are in a namespace
2025-11-05 11:10:36 +03:00
Vincent Rabaud
f984d3bdc7 Fix generation when returned class and function are in a namespace
This is to fix js generation at HEAD with ximgproc.
2025-11-04 11:17:29 +01:00
Vladyslav Humennyy
f692304c29 Remove mention of 'tangential lens distortion' from fisheye documentation.
In `fisheye::initUndistortRectifyMap` states, that the function 'compensate radial and tangential lens distortion'. But in fact, fisheye camera model in OpenCV does not uses tangential distortion. It uses only radial distortions, with 4 distortion k_1, k_2, k_3, k_4, which all are radial. In the code of the function all of those koeficients indeed are used as radial lens distortion coefficients. Possible reason of that issue is similar documentation of pinhole camera, that as first four coefficients uses 2 radial and 2 tangential lens distortion coefficients - k_1, k_2, p_1, p_2.
2025-11-04 11:16:59 +02:00
Alexander Smorkalov
01f9bdae4c Merge pull request #27723 from fanchenkong1:fastconv-wasm-scalar-opt
DNN: Add large scalar fastconv kernel for WASM/no-SIMD build
2025-10-31 22:50:41 +03:00