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

1086 Commits

Author SHA1 Message Date
Vadim Pisarevsky a3a4d4adac Merge pull request #29300 from vpisarev:add_harfbuzz
Added harfbuzz; use it instead of STB to render text #29300

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

This is the next big step to improve font rendering in OpenCV 5.x. See #18760, #26301. See also OpenCV 5.0 release notes, where it was pointed out that complex scripts are not rendered correctly, and HarfBuzz integration is needed to fix it. So, here it is — HarfBuzz integration:

* Removed tweaked STB engine. STB truetype rendering engine was included into OpenCV 5.0-pre/5.0 and it was extended to instantiate and render variable fonts, but the support was incomplete and immature.
* Instead, we now use [HarfBuzz](https://github.com/harfbuzz/harfbuzz) — famous font shaping library and now also font rendering library, used by many big companies and organizations.
* As a result, we now correctly render complex scripts, such as arabic or devanagari, correctly handle font ligatures (ff, fi, ft etc.)

<img width="1300" height="600" alt="text_test" src="https://github.com/user-attachments/assets/a7d2c754-0fcf-40f8-8104-578f3a14850b" />

* Potentially, we could also support color emoji, but that would be a next step.
* As with STB-based engine, glyphs are cached (the same glyph from the same font is not rendered twice), so the performance should be on par with the previous engine.
* When OpenCV is built with `-DWITH_HARFBUZZ=ON`, which is set by default, it tries to detect HarfBuzz in the system and use it. If it's not detected, OpenCV builds our own small subset of HarfBuzz.

The following table compares size of libopencv_imgproc.dylib.5.0.0 (Release mode) in different configurations:

| Configuration                          | libopencv_imgproc (stripped) | delta vs 5.0 |
|----------------------------------------|------------------------------|----------|
| imgproc without text rendering (`-DWITH_HARFBUZZ=OFF`)  | 4.27 MB  |  −2.35 MB |
| imgproc with stb-based engine (5.0)      | 6.62 MB      |  0.0 Mb |
| imgproc with HarfBuzz-based engine (this PR)     | 7.07 MB      |  +0.45 MB |

The biggest source of the size increase when OpenCV is built with text rendering support (STB- or Harfbuzz-based) is that imgproc in this case includes .ttf fonts (Rubik and 'Wen Quan Yi Micro Hei'), which are gzip-compressed, but still have noticeable size, especially 'Wen Quan Yi' (~2Mb). HarfBuzz itself, compared to STB engine, adds just 0.45Mb, or ~7% to imgproc size. On other platforms (Linux x64, Windows), where IPP or other acceleration libraries are linked into libopencv_imgproc, the harfbuzz footprint is even less noticeable.

### 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
2026-06-16 10:05:32 +03:00
omrope79 37c9ab1815 Merge pull request #29226 from omrope79:fix_mlas_x86
Fix MLAS 32-bit x86 build by integrating missing upstream assembly files #29226

### Pull Request Readiness Checklist

This resolves the 32-bit x86 build failure for MLAS. Related to: https://github.com/opencv/opencv/pull/29218

* Added the required `x86` assembly files and headers from upstream.
* Added `__x86_64__` guards around the AMX `syscall` and the FMA3/AVX512F kernel assignments to prevent 32-bit compilation crashes.

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
2026-06-04 23:33:54 +03:00
Alexander Smorkalov a0a660fcb1 Merge pull request #29203 from abhishek-gola:asm_bug_fix
fix MLAS build failure caused by ASM/ASM_NASM dialect conflict
2026-06-02 18:06:03 +03:00
Abhishek Gola 46e8224cf0 fixed ASM bug 2026-06-01 15:38:17 +05:30
Abhishek Gola a1ad509753 Merge pull request #29091 from abhishek-gola:doc_optimizations
New sphinx-documentation build #29091

### 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
2026-05-28 17:34:19 +03:00
Abhishek Gola bdf348c13a Merge pull request #28934 from abhishek-gola:mlas_gemm
Added MLAS third party module and integrated into GeMM path #28934

### 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
2026-05-22 20:22:15 +03:00
Alexander Smorkalov c9070f9f35 Merge branch 4.x 2026-05-20 17:57:51 +03:00
Pratham Kumar eadaab5fbb Merge pull request #28664 from pratham-mcw:armpl_dft_opt
Add ARMPL support for DFT Function #28664

- This PR introduces hal/armpl/ with implementation of 1D, 2D DFT and DCT routines using ARM Performance Libraries as a custom HAL replacement for OpenCV's DFT & DCT Function.
- ArmPL MSI package is automatically downloaded and extracted via CMake when building on Windows ARM64, with a WITH_ARMPL option that defaults to ON for that platform.
- Forward and inverse real DFT calls in dxt.cpp are routed through ArmPL when available, with scaling applied only when needed.
- Test error thresholds in test_dxt.cpp are relaxed (from 1e-5 to 2e-4 for float ) to account for numerical differences between ArmPL and OpenCV's reference DFT results.

**Performance Benchmarks :**
<img width="993" height="835" alt="image" src="https://github.com/user-attachments/assets/76def647-6d20-4bce-8bc9-7363e723669f" />

- [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
2026-05-14 10:56:21 +03:00
donotsleepy e640a9bfb8 Merge pull request #28995 from donotsleepy:fix/png-found-status-guard
cmake: fix PNG status display when BUILD_PNG=ON #28995

### Description

Fixes #28657.

On macOS (and other Apple platforms), `BUILD_PNG=ON` is the default. The build system correctly clears `PNG_FOUND` in `OpenCVFindLibsGrfmt.cmake` and builds libpng from the bundled source. However, during the subsequent module processing phase, a downstream `find_package(PNG)` call — triggered transitively via `include()` in the **same scope** — overwrites not only `PNG_FOUND`, but also `PNG_INCLUDE_DIR`, `PNG_LIBRARIES`, and `PNG_VERSION_STRING`.

#### Root Cause: FindPNG.cmake Has Asymmetric Guards

Reading CMake 4.3's `FindPNG.cmake` (`/opt/homebrew/share/cmake/Modules/FindPNG.cmake`) reveals:

| Variable | Guard? | Fate |
|---|---|---|
| `PNG_LIBRARY` | `if(NOT PNG_LIBRARY)` at line 138 — **guarded** | Preserved |
| `PNG_PNG_INCLUDE_DIR` | `find_path(...)` at line 115 — **no guard** | **Overwritten** |
| `PNG_INCLUDE_DIR` | Derived from `PNG_PNG_INCLUDE_DIR` | **Chain-overwritten** |
| `PNG_LIBRARIES` | Derived from `PNG_LIBRARY` + `ZLIB_LIBRARY` | **Partly overwritten** |
| `PNG_VERSION_STRING` | Parsed from `PNG_PNG_INCLUDE_DIR/png.h` | **Overwritten** |

`PNG_LIBRARY` survives because FindPNG itself checks `if(NOT PNG_LIBRARY)`. But `find_path(PNG_PNG_INCLUDE_DIR)` runs unconditionally — re-searching and overwriting the bundled path with the system one.

#### Fix: Three Coordinated Changes

**Part A — Status guard** (`CMakeLists.txt`): When `BUILD_PNG=ON`, pass `FALSE` as the condition to always show `"build"` regardless of `PNG_FOUND`.

**Part B — Variable lock** (`cmake/OpenCVFindLibsGrfmt.cmake`): After building from bundled source, lock `PNG_PNG_INCLUDE_DIR` as `CACHE INTERNAL`. CMake's `find_path()` checks the cache first — if the variable exists with a valid path, it skips re-searching. The system path is never found.

**Part C — Cache cleanup** (`cmake/OpenCVFindLibsGrfmt.cmake`): Add `PNG_PNG_INCLUDE_DIR` to the `ocv_clear_internal_cache_vars()` call in the `else` branch. When a user switches `BUILD_PNG=OFF`, the cached variable is cleared, allowing `find_path` to search for the system libpng normally. Prevents stale cache leakage across configuration changes.

#### Verification (macOS 26, CMake 4.3, Homebrew libpng 1.6.58)

```
BEFORE downstream find_package(PNG):
  PNG_LIBRARY   = libpng
  PNG_INCLUDE_DIR = .../3rdparty/libpng
  PNG_VERSION_STRING = 1.6.37

AFTER downstream find_package(PNG) [with fix]:
  PNG_LIBRARY   = libpng          ← preserved (FindPNG guard)
  PNG_INCLUDE_DIR starts with .../3rdparty/libpng  ← locked (Part B)
  PNG_VERSION_STRING = 1.6.53     ← from bundled png.h
  Status display: build (ver 1.6.53)  ← correct (Part A)
```

The full reproduction and analysis are in the attached `bugReview/` directory.

### Checklist

- [x] There is a reference to the original bug report and related work
- [x] The test case is in `bugReview/` directory
- [x] Tested on macOS 26 (arm64) with CMake 4.3 + Homebrew libpng 1.6.58
- [x] Cache hygiene verified for BUILD_PNG ON→OFF→ON transitions
2026-05-12 12:40:57 +03:00
Varun Jaiswal 3cebf7d61e Merge pull request #28969 from varun-jaiswal17:update_ort_version-1.25.1
update default ONNX Runtime version to 1.25.1 #28969

Bump ONNX Runtime default version to latest version: 1.25.1

Includes the following update:
 https://github.com/microsoft/onnxruntime/pull/27164 : Adds LpNormalization opset-22 kernel support missing in 1.24.2. 

### 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
2026-05-12 07:29:22 +03:00
Alexander Smorkalov d089304bb9 Merge branch 4.x 2026-04-29 16:36:02 +03:00
Chevi koren 1f8257adad Merge pull request #28423 from Chevi-Koren:fix-clp-vcpkg-final
Fix Clp library detection for vcpkg on Windows #28423

## Problem

Building OpenCV with `WITH_CLP=ON` on Windows (vcpkg) fails:

LINK : fatal error LNK1181: cannot open input file 'libClp.lib'

vcpkg generates `Clp.lib` and `CoinUtils.lib`, but OpenCV expected `libClp.lib`/`libCoinUtils.lib`.

## Solution

Modernize CLP detection with a robust, platform-aware approach:

1. **CMake `find_package(Clp CONFIG)`**: detects vcpkg and uses imported targets (`Coin::Clp`, `Coin::CoinUtils`)
2. **Fallback**: pkg-config on Unix/Linux  
3. **Skip** Android/iOS

## Benefits

 Fixes Windows build with vcpkg  
 Uses modern CMake targets  
 Backward compatible with Unix/Linux  
 Safe for CI and mobile builds  
 Graceful fallback if CLP unavailable  

## Testing

- **Windows 11 + vcpkg**: build succeeds
- **No CLP installed**: configure/build succeeds  
- **Linux/Unix**: existing workflows unaffected
- **Android/iOS**: properly skipped

## Changes

- Update `cmake/OpenCVFindLibsPerf.cmake`
- Replace hardcoded library names with CMake targets
- Add mobile platform guards
- Preserve backward compatibility

Fixes #26592

---

### Pull Request Readiness Checklist

- [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 reference to the original bug report and related work (#26592)
- [x] The feature is well documented and sample code can be built with the project CMake
- [x] No additional tests required - this is a build system fix that maintains existing functionality
2026-04-29 11:40:23 +03:00
Alexander Smorkalov 7bde3f9ae9 Merge branch 4.x 2026-04-24 11:11:26 +03:00
Kumataro 1ae5a8586b Merge pull request #28615 from Kumataro:fix28606
imgcodecs(png): support cICP metadata for imreadWithMetadata() #28615

Close https://github.com/opencv/opencv/issues/28606
Related https://github.com/opencv/opencv/pull/27741 (support for imwriteWithMetadata)

### 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
2026-04-19 20:11:33 +03:00
Abhishek Gola 2ec6a6bb65 Merge pull request #28588 from abhishek-gola:ORT_GPU_wrapper
Added OnnxRuntime GPU wrapper #28588

### 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
2026-04-06 15:40:58 +03:00
Abhishek Gola 95c66292b5 Merge pull request #28444 from abhishek-gola:added_ORT_wrapper
Added ONNX Runtime as an optional wrapper #28444

This PR adds ONNXRuntime (ORT) as an _optional_ wrapper, which can be enabled by adding **WITH_ONNXRUNTIME** flag in CMake command.

Using ORT wrapper the inference time for _resnet50.onnx model_ has come to _**~7ms**_ from _**~14ms**_.
Also, we are able to run models like `ssd_mobilenet_v1.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
- [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
2026-02-27 15:47:12 +03:00
Alexander Smorkalov 6c995c768f Merge branch 4.x 2026-02-20 22:05:35 +03:00
Alexander Smorkalov 82ff8e45e9 Merge branch 4.x 2026-02-14 15:37:33 +03:00
jinbo 9c561eb703 3rdparty(itt): support LOONGARCH64
Fix warning generated by `cmake -S . -B build -DWITH_ITT=ON -DBUILD_ITT=ON`:
```
CMake Warning at cmake/OpenCVUtils.cmake:762 (message):
  Unexpected option: BUILD_ITT (=ON)

  Condition: IF
  ((;X86_64;OR;X86;OR;ARM;OR;AARCH64;OR;PPC64;OR;PPC64LE;);AND;NOT;WINRT;AND;NOT;APPLE_FRAMEWORK)
Call Stack (most recent call first):
  CMakeLists.txt:210 (OCV_OPTION)
```
2026-01-21 16:27:32 +08:00
Alexander Smorkalov c03734475f Merge pull request #28159 from asmorkalov:as/java_cleaners
Introduce option to generate Java code with finalize() or Cleaners interface #28159
 
Closes https://github.com/opencv/opencv/issues/22260
Replaces https://github.com/opencv/opencv/pull/23467

The PR introduce configuration option to generate Java code with Cleaner interface for Java 9+ and old-fashion finalize() method for old Java and Android. Mat class and derivatives are manually written. The PR introduce 2 base classes for it depending on the generator configuration.

Pros:
1. No need to implement complex and error prone cleaner on library side.
2. No new CMake templates, easier to modify code in IDE.

Cons:
1. More generator branches and different code for modern desktop and Android.

TODO: 
- [x] Add Java version check to cmake
- [x] Use Cleaners for ANDROID API 33+

### 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-12-16 14:21:34 +03:00
Alexander Smorkalov 579dfb6e02 Merge pull request #27640 from asmorkalov:as/kleidicv_mac
Enable KleidiCV on Linux and Mac Mx by default #27640

OpenCV Extra: https://github.com/opencv/opencv_extra/pull/1296

### 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-12-11 18:06:39 +03:00
Alexander Smorkalov 7a1425ca2c Added Orbbec cameras support to CMake diagnostics. 2025-12-07 11:38:29 +03:00
Alexander Smorkalov de660aedca Reverted CI changes. 2025-12-05 16:00:14 +03:00
Alexander Smorkalov 2c8cfdebde Added RISC-V RVV diagnostics for PNG. 2025-12-02 10:40:01 +03:00
Alexander Smorkalov 54d066b89c Force 3rdparty build for CI test. 2025-12-01 17:14:08 +03:00
Alexander Smorkalov 1b6fb61b89 Merge branch 4.x 2025-11-18 08:51:08 +03: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
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
Alexander Smorkalov eb4e853134 Merge branch 4.x 2025-10-01 10:27:32 +03:00
Alexander Smorkalov ebb5b3037e Output GDAL library version in CMake status output. 2025-09-30 18:34:10 +03:00
Alexander Smorkalov cc1ddb5602 Merge branch 4.x 2025-09-10 10:46:54 +03:00
Alexander Smorkalov ae86b400cc Remove libavresample from CMake as it's not used in code. 2025-09-09 16:13:43 +03:00
Alexander Smorkalov d1a5723864 Merge branch 4.x 2025-09-09 10:27:19 +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 02f0779d0e Merge branch 4.x 2025-08-07 10:35:20 +03:00
Alexander Smorkalov 8dc4ad3ff3 Merge pull request #27607 from asmorkalov:as/apple_kleidicv
KleidiCV support on Apple devices #27607

Scope:
- Disabled bitcode generation in iPhone framework by default.
- Enabled KleidiCV build for iPhone.
- Added Github Actions log tags to group per-architecture builds and format logs.

### 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-07-31 16:05:37 +03:00
Alexander Smorkalov 4355309c3b Merge pull request #27386 from dkurt:remove_quirc
Remove QUIRC library dependency
2025-06-11 09:39:24 +03:00
Alexander Smorkalov 350b211b57 Merge branch 4.x 2025-06-10 10:16:50 +03:00
Dmitry Kurtaev 74dae85a65 Remove QUIRC library dependency 2025-05-30 17:57:13 +03:00
Yuantao Feng 547cef4e88 Merge pull request #27301 from fengyuentau:4x/hal/riscv_rvv/refactor_build
hal/riscv-rvv: refactor the building process #27301

Current hal/riscv-rvv is built with all headers without building an object. This slows down the compilation progress, especially when re-compiling for minor changes in those headers (~170 files need to be re-compiled). This patch solves the problem.

### 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-05-14 14:04:58 +03:00
Maksim Shabunin cb87f05e4b Merge pull request #27243 from mshabunin:fix-openblas-5x
Port of #27029 to 5.x

Replaced search mechanism with 4.x variant
2025-05-12 10:57:36 +03:00
Alexander Smorkalov f8de2e06e6 Merge branch 4.x 2025-05-07 13:17:42 +03:00
Alexander Smorkalov 55a063f025 Enable GIF support by default. 2025-04-25 15:03:22 +03:00
Alexander Smorkalov 19c4d97638 Merge pull request #27252 from asmorkalov:as/extract_hal
Extract all HALs from 3rdparty to dedicated folder. #27252

### 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-04-25 14:56:42 +03:00
Dan Dennedy cb8030809e Fix configuring with CMake version 4
fixes #27122
2025-04-02 13:45:08 -07:00
cudawarped 3d5ab56a68 Add comment for CMake 3.18+: if CMAKE_CUDA_ARCHITECTURES is empty enable_language(CUDA) sets it to the default architecture chosen by the compiler, to trigger the OpenCV custom CUDA architecture search an empty value needs to be respected see https://github.com/opencv/opencv/pull/25941. 2025-03-27 16:40:01 +02:00
Alexander Smorkalov 01ef38dcad Merge pull request #26880 from asmorkalov:as/ipp_hal
Initial version of IPP-based HAL for x86 and x86_64 platforms #26880

### 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-03-22 09:31:42 +03:00
Alexander Smorkalov db40139f16 Merge branch 4.x 2025-03-05 10:28:32 +03:00
xi-guo 0b8cab368b fix: qnx7.0 build 2025-02-27 14:24:18 +08:00
Alexander Smorkalov 1483504702 Merge branch 4.x 2025-02-20 13:58:04 +03:00