update opencv-4.13.0 (#225)

This commit is contained in:
nihui
2026-01-02 21:28:36 +08:00
committed by GitHub
parent 33a0ae6d63
commit 99e69050a7
13 changed files with 763 additions and 438 deletions
+181 -50
View File
@@ -65,6 +65,7 @@ jobs:
patch -p1 -i ../patches/opencv-${{ env.opencv-version }}-newer-msvc.patch
patch -p1 -i ../patches/opencv-${{ env.opencv-version }}-fix-windows-arm-arch.patch
patch -p1 -i ../patches/opencv-${{ env.opencv-version }}-minimal-install.patch
patch -p1 -i ../patches/opencv-${{ env.opencv-version }}-cmake-cmp0042-new.patch
cp ../patches/draw_text.h ../patches/mono_font_data.h modules/core/src/
cp ../patches/fontface.html ./
patch -p1 -i ../patches/opencv-${{ env.opencv-version }}-drawing-mono-font.patch
@@ -160,7 +161,7 @@ jobs:
zip -9 -r opencv-mobile-${{ env.opencv-version }}.zip opencv-mobile-${{ env.opencv-version }}
- name: opencv4-source
env:
opencv-version: 4.12.0
opencv-version: 4.13.0
run: |
wget -q https://github.com/opencv/opencv/archive/${{ env.opencv-version }}.zip -O opencv-${{ env.opencv-version }}.zip
unzip -q opencv-${{ env.opencv-version }}.zip
@@ -247,15 +248,15 @@ jobs:
- name: upload-opencv4-source
uses: actions/upload-artifact@v6
with:
name: opencv-mobile-4.12.0-source
path: opencv-mobile-4.12.0.zip
name: opencv-mobile-4.13.0-source
path: opencv-mobile-4.13.0.zip
android:
needs: [setup]
runs-on: ubuntu-latest
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_DEFAULT_CMP0057=NEW \
@@ -357,7 +358,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
OHOS_NDK_CMAKE: $GITHUB_WORKSPACE/ohos-sdk/linux/native/build-tools/cmake/bin/cmake
COMMON_CMAKE_OPTIONS: |
@@ -418,7 +419,7 @@ jobs:
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
- name: set-opencv-dir
if: matrix.opencv-version == '4.12.0'
if: matrix.opencv-version == '4.13.0'
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
- name: test-armeabi-v7a
run: |
@@ -449,12 +450,13 @@ jobs:
ios:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=OS \
-DDEPLOYMENT_TARGET=$IOS_DEPLOYMENT_TARGET \
@@ -489,6 +491,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -521,12 +532,13 @@ jobs:
ios-simulator:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=SIMULATOR \
-DDEPLOYMENT_TARGET=$IOS_DEPLOYMENT_TARGET \
@@ -570,6 +582,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -606,7 +627,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" \
@@ -666,7 +687,7 @@ jobs:
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
- name: set-opencv-dir
if: matrix.opencv-version == '4.12.0'
if: matrix.opencv-version == '4.13.0'
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
- name: test-arm-linux-gnueabi
run: |
@@ -697,12 +718,13 @@ jobs:
macos:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DDEPLOYMENT_TARGET=$MAC_DEPLOYMENT_TARGET \
-DENABLE_BITCODE=OFF \
@@ -743,6 +765,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -783,12 +814,13 @@ jobs:
mac-catalyst:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=MAC_CATALYST \
-DDEPLOYMENT_TARGET=$MAC_CATALYST_DEPLOYMENT_TARGET \
@@ -832,6 +864,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -865,12 +906,13 @@ jobs:
watchos:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=WATCHOS \
-DDEPLOYMENT_TARGET=$WATCHOS_DEPLOYMENT_TARGET \
@@ -947,12 +989,13 @@ jobs:
watchos-simulator:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=SIMULATOR_WATCHOS \
-DDEPLOYMENT_TARGET=$WATCHOS_DEPLOYMENT_TARGET \
@@ -996,6 +1039,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -1029,12 +1081,13 @@ jobs:
tvos:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=TVOS \
-DDEPLOYMENT_TARGET=$TVOS_DEPLOYMENT_TARGET \
@@ -1078,6 +1131,21 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
libtool -static ${{ env.SOURCE_DIR }}/build-arm64e/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64e/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64e/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64e/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64e/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64e/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64e/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -1111,12 +1179,13 @@ jobs:
tvos-simulator:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=SIMULATOR_TVOS \
-DDEPLOYMENT_TARGET=$TVOS_DEPLOYMENT_TARGET \
@@ -1160,6 +1229,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -1193,12 +1271,13 @@ jobs:
visionos:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=VISIONOS \
-DDEPLOYMENT_TARGET=$VISIONOS_DEPLOYMENT_TARGET \
@@ -1233,6 +1312,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -1265,12 +1353,13 @@ jobs:
visionos-simulator:
needs: [setup]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
-DPLATFORM=SIMULATOR_VISIONOS \
-DDEPLOYMENT_TARGET=$VISIONOS_DEPLOYMENT_TARGET \
@@ -1314,6 +1403,15 @@ jobs:
# workaround ar @list issue on macos
cmake --build . -j 4 || { cd modules/world; $DEVELOPER_DIR/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc ../../lib/libopencv_world.a `cat world_objects.rsp` CMakeFiles/opencv_world.dir/src/world_init.cpp.o; cd ../..; }
cmake --build . --target install
- name: merge-opencv4-3rdparty
if: matrix.opencv-version == '4.13.0'
run: |
libtool -static ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_thread.a \
${{ env.SOURCE_DIR }}/build-arm64/install/lib/opencv4/3rdparty/libkleidicv_hal.a \
-o ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a
mv ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world_combined.a ${{ env.SOURCE_DIR }}/build-arm64/install/lib/libopencv_world.a
- name: package
run: |
rm -rf opencv2.framework
@@ -1347,14 +1445,15 @@ jobs:
windows:
needs: [setup]
name: "windows-${{ matrix.os-compiler.msvc-version }} (${{ matrix.opencv-version }})"
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
os-compiler:
- { msvc-version: vs2015, windows-version: 2022, toolset-version: v140 }
- { msvc-version: vs2017, windows-version: 2022, toolset-version: v141 }
- { msvc-version: vs2019, windows-version: 2022, toolset-version: v142 }
- { msvc-version: vs2022, windows-version: 2022, toolset-version: v143 }
- { msvc-version: vs2015, windows-version: 2022, toolset-version: v140, windows-sdk-version: 22621 }
- { msvc-version: vs2017, windows-version: 2022, toolset-version: v141, windows-sdk-version: 22621 }
- { msvc-version: vs2019, windows-version: 2022, toolset-version: v142, windows-sdk-version: 22621 }
- { msvc-version: vs2022, windows-version: 2022, toolset-version: v143, windows-sdk-version: 26100 }
runs-on: windows-${{ matrix.os-compiler.windows-version }}
env:
UseMultiToolTask: true
@@ -1390,18 +1489,22 @@ jobs:
$vsInstallPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
Start-Process -FilePath "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" -ArgumentList "modify --installPath `"$vsInstallPath`" --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 --quiet --norestart --nocache" -Wait
- uses: GuillaumeFalourd/setup-windows10-sdk-action@v2.4
with:
sdk-version: ${{ matrix.os-compiler.windows-sdk-version }}
- name: build-x86
run: |
cd ${{ env.SOURCE_DIR }}
mkdir build-x86; cd build-x86
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A Win32 $(type ../options.txt) -DBUILD_opencv_world=OFF ..
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A Win32,version=10.0.${{ matrix.os-compiler.windows-sdk-version }}.0 $(type ../options.txt) -DBUILD_opencv_world=OFF ..
cmake --build . --config Release -j 4
cmake --build . --config Release --target install
- name: build-x64
run: |
cd ${{ env.SOURCE_DIR }}
mkdir build-x64; cd build-x64
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A x64 $(type ../options.txt) -DBUILD_opencv_world=OFF ..
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A x64,version=10.0.${{ matrix.os-compiler.windows-sdk-version }}.0 $(type ../options.txt) -DBUILD_opencv_world=OFF ..
cmake --build . --config Release -j 4
cmake --build . --config Release --target install
- name: build-arm64
@@ -1409,7 +1512,7 @@ jobs:
run: |
cd ${{ env.SOURCE_DIR }}
mkdir build-arm64; cd build-arm64
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A arm64 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=ARM64 -DCMAKE_WINDOWS_KITS_10_DIR="C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0" -DCMAKE_SYSTEM_VERSION="10.0.22621.0" $(type ../options.txt) -DBUILD_opencv_world=OFF ..
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A arm64,version=10.0.${{ matrix.os-compiler.windows-sdk-version }}.0 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=ARM64 -DCMAKE_WINDOWS_KITS_10_DIR="C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0" -DCMAKE_SYSTEM_VERSION="10.0.22621.0" $(type ../options.txt) -DBUILD_opencv_world=OFF ..
cmake --build . --config Release -j 4
cmake --build . --config Release --target install
- name: package
@@ -1436,20 +1539,20 @@ jobs:
run: |
cd test
mkdir build-x86; cd build-x86
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A Win32 -DOpenCV_DIR="$env:GITHUB_WORKSPACE\${{ env.PACKAGE_NAME }}\x86" -DOpenCV_STATIC=ON ..
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A Win32,version=10.0.${{ matrix.os-compiler.windows-sdk-version }}.0 -DOpenCV_DIR="$env:GITHUB_WORKSPACE\${{ env.PACKAGE_NAME }}\x86" -DOpenCV_STATIC=ON ..
cmake --build . --config Release -j 4
- name: test-x64
run: |
cd test
mkdir build-x64; cd build-x64
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A x64 -DOpenCV_DIR="$env:GITHUB_WORKSPACE\${{ env.PACKAGE_NAME }}\x64" -DOpenCV_STATIC=ON ..
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A x64,version=10.0.${{ matrix.os-compiler.windows-sdk-version }}.0 -DOpenCV_DIR="$env:GITHUB_WORKSPACE\${{ env.PACKAGE_NAME }}\x64" -DOpenCV_STATIC=ON ..
cmake --build . --config Release -j 4
- name: test-arm64
if: matrix.os-compiler.msvc-version == 'vs2019' || matrix.os-compiler.msvc-version == 'vs2022'
run: |
cd test
mkdir build-arm64; cd build-arm64
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A arm64 -DOpenCV_DIR="$env:GITHUB_WORKSPACE\${{ env.PACKAGE_NAME }}\arm64" -DOpenCV_STATIC=ON ..
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A arm64,version=10.0.${{ matrix.os-compiler.windows-sdk-version }}.0 -DOpenCV_DIR="$env:GITHUB_WORKSPACE\${{ env.PACKAGE_NAME }}\arm64" -DOpenCV_STATIC=ON ..
cmake --build . --config Release -j 4
- name: upload-zip
uses: actions/upload-artifact@v6
@@ -1459,9 +1562,10 @@ jobs:
ubuntu:
needs: [setup]
name: "ubuntu-${{ matrix.os-ubuntu.ubuntu-version }} (${{ matrix.opencv-version }})"
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
os-ubuntu:
- { ubuntu-id: 2204, ubuntu-version: 22.04 }
- { ubuntu-id: 2404, ubuntu-version: 24.04 }
@@ -1496,7 +1600,7 @@ jobs:
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
- name: set-opencv-dir
if: matrix.opencv-version == '4.12.0'
if: matrix.opencv-version == '4.13.0'
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
- name: test
run: |
@@ -1515,7 +1619,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_TOOLCHAIN_FILE=../emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \
@@ -1601,7 +1705,7 @@ jobs:
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
- name: set-opencv-dir
if: matrix.opencv-version == '4.12.0'
if: matrix.opencv-version == '4.13.0'
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
- name: test
run: |
@@ -1647,10 +1751,10 @@ jobs:
apple:
needs: [macos, ios, ios-simulator, mac-catalyst, watchos, watchos-simulator, tvos, tvos-simulator, visionos, visionos-simulator]
runs-on: macos-13
runs-on: macos-14
strategy:
matrix:
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
opencv-version: [2.4.13.7, 3.4.20, 4.13.0]
steps:
- run: sudo xcode-select --switch /Applications/Xcode_15.2.app
- uses: actions/checkout@v6
@@ -1751,6 +1855,7 @@ jobs:
devboard:
needs: [setup]
name: "devboard-${{ matrix.name }}"
runs-on: ubuntu-latest
strategy:
matrix:
@@ -1807,6 +1912,32 @@ jobs:
echo "fine :)"
cmake-options: -DWITH_KLEIDICV=ON -DWITH_RPI=ON -DWITH_CIX=ON
- name: debian-trixie-arm
os-image: debian:trixie
single-core: false
cmake-toolchain: arm-linux-gnueabihf.toolchain.cmake
setup-toolchain-cmd: |
apt-get update
apt-get install -y unzip zip patch cmake g++-arm-linux-gnueabihf
setup-env-cmd: |
echo "fine :)"
setup-test-env-cmd: |
echo "fine :)"
cmake-options:
- name: debian-trixie-aarch64
os-image: debian:trixie
single-core: false
cmake-toolchain: aarch64-linux-gnu.toolchain.cmake
setup-toolchain-cmd: |
apt-get update
apt-get install -y unzip zip patch cmake g++-aarch64-linux-gnu
setup-env-cmd: |
echo "fine :)"
setup-test-env-cmd: |
echo "fine :)"
cmake-options: -DWITH_KLEIDICV=ON -DWITH_RPI=ON -DWITH_CIX=ON
- name: milkv-duo
single-core: true
cmake-toolchain: riscv64-unknown-linux-musl.toolchain.cmake
@@ -1962,20 +2093,20 @@ jobs:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v7
with:
name: opencv-mobile-4.12.0-source
name: opencv-mobile-4.13.0-source
- name: setup-toolchain
run: ${{ matrix.setup-toolchain-cmd }}
- name: setup-opencv-source
run: |
unzip -q opencv-mobile-4.12.0.zip
echo "SOURCE_DIR=opencv-mobile-4.12.0" >> $GITHUB_ENV
echo "PACKAGE_NAME=opencv-mobile-4.12.0-${{ matrix.name }}" >> $GITHUB_ENV
unzip -q opencv-mobile-4.13.0.zip
echo "SOURCE_DIR=opencv-mobile-4.13.0" >> $GITHUB_ENV
echo "PACKAGE_NAME=opencv-mobile-4.13.0-${{ matrix.name }}" >> $GITHUB_ENV
- name: build-disable-thread
if: ${{ matrix.single-core }}
run: |
cd ${{ env.SOURCE_DIR }}
patch -p1 -i ../patches/opencv-4.12.0-no-atomic.patch
patch -p1 -i ../patches/opencv-4.13.0-no-atomic.patch
mkdir build && cd build
${{ matrix.setup-env-cmd }}
cmake ${{ env.COMMON_CMAKE_OPTIONS }} ${{ matrix.cmake-options }} \
+60 -58
View File
@@ -18,7 +18,7 @@
:heavy_check_mark: Packages for **Windows**, **Linux**, **MacOS**, **HarmonyOS** and **WebAssembly** are available now.
:heavy_check_mark: We provide prebuild binary packages for opencv **2.4.13.7**, **3.4.20** and **4.12.0**.
:heavy_check_mark: We provide prebuild binary packages for opencv **2.4.13.7**, **3.4.20** and **4.13.0**.
:heavy_check_mark: We also provide prebuild package for **Mac-Catalyst**, **watchOS**, **tvOS**, **visionOS** and **Apple xcframework**.
@@ -30,11 +30,11 @@
:heavy_check_mark: ***NEW FEATURE*** [`cv::VideoWriter` supports jpg streaming over http](#cvvideowriter-supports-jpg-streaming-over-http)
|opencv 4.12.0 package size|The official opencv|opencv-mobile|
|opencv 4.13.0 package size|The official opencv|opencv-mobile|
|:-:|:-:|:-:|
|source zip|95.5 MB|8.78 MB|
|android|299 MB|18.6 MB|
|ios|211 MB|3.85 MB|
|source zip|95.7 MB|8.44 MB|
|android|303 MB|18.8 MB|
|ios|88.7 MB|4.25 MB|
<table>
@@ -61,7 +61,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0.zip)
</td>
</tr>
@@ -75,7 +75,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-android.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-android.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-android.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-android.zip)
</td>
</tr>
@@ -89,7 +89,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-harmonyos.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-harmonyos.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-harmonyos.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-harmonyos.zip)
</td>
</tr>
@@ -103,7 +103,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ios.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ios.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-ios.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-ios.zip)
</td>
</tr>
@@ -113,7 +113,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ios-simulator.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ios-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-ios-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-ios-simulator.zip)
</td>
</tr>
@@ -127,7 +127,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-macos.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-macos.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-macos.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-macos.zip)
</td>
</tr>
@@ -137,7 +137,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-mac-catalyst.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-mac-catalyst.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-mac-catalyst.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-mac-catalyst.zip)
</td>
</tr>
@@ -147,7 +147,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-watchos.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-watchos.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-watchos.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-watchos.zip)
</td>
</tr>
@@ -157,7 +157,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-watchos-simulator.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-watchos-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-watchos-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-watchos-simulator.zip)
</td>
</tr>
@@ -167,7 +167,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-tvos.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-tvos.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-tvos.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-tvos.zip)
</td>
</tr>
@@ -177,7 +177,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-tvos-simulator.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-tvos-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-tvos-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-tvos-simulator.zip)
</td>
</tr>
@@ -187,7 +187,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-visionos.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-visionos.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-visionos.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-visionos.zip)
</td>
</tr>
@@ -197,7 +197,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-visionos-simulator.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-visionos-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-visionos-simulator.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-visionos-simulator.zip)
</td>
</tr>
@@ -207,7 +207,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-apple.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-apple.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-apple.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-apple.zip)
</td>
</tr>
@@ -221,7 +221,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ubuntu-2204.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ubuntu-2204.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-ubuntu-2204.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-ubuntu-2204.zip)
</td>
</tr>
@@ -231,7 +231,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-ubuntu-2404.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-ubuntu-2404.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-ubuntu-2404.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-ubuntu-2404.zip)
</td>
</tr>
@@ -245,7 +245,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2015.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2015.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-windows-vs2015.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-windows-vs2015.zip)
</td>
</tr>
@@ -255,7 +255,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2017.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2017.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-windows-vs2017.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-windows-vs2017.zip)
</td>
</tr>
@@ -265,7 +265,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2019.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2019.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-windows-vs2019.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-windows-vs2019.zip)
</td>
</tr>
@@ -275,7 +275,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-windows-vs2022.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-windows-vs2022.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-windows-vs2022.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-windows-vs2022.zip)
</td>
</tr>
@@ -289,7 +289,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-webassembly.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-webassembly.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-webassembly.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-webassembly.zip)
</td>
</tr>
@@ -303,13 +303,14 @@ https://github.com/nihui/opencv-mobile/releases/latest
[<img src="https://img.shields.io/badge/download-2.4.13.7-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-2.4.13.7-armlinux.zip)
[<img src="https://img.shields.io/badge/download-3.4.20-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-armlinux.zip)
[<img src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-armlinux.zip)
[<img src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">](https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-armlinux.zip)
</td>
</tr>
</table>
* Android package build with ndk r28 and android api 21, [KleidiCV](https://gitlab.arm.com/kleidi/kleidicv) HAL enabled for arm64-v8a
* Android package build with ndk r29 and android api 21
* [KleidiCV](https://gitlab.arm.com/kleidi/kleidicv) HAL enabled for Android arm64-v8a, all Apple arm64/arm64e platforms and Linux aarch64 targets
* iOS / MacOS / Mac-Catalyst / watchOS / tvOS / visionOS package build with Xcode 15.2
* ARM Linux package build with cross-compiler on Ubuntu-24.04
* WebAssembly package build with Emscripten 3.1.28
@@ -325,8 +326,9 @@ https://github.com/nihui/opencv-mobile/releases/latest
||arm|aarch64|
|---|---|---|
|bullseye|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-debian-bullseye-arm.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge"></a>|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-debian-bullseye-aarch64.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge"></a>|
|bookworm|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-debian-bookworm-arm.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge"></a>|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-debian-bookworm-aarch64.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge"></a>|
|bullseye|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-debian-bullseye-arm.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge"></a>|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-debian-bullseye-aarch64.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge"></a>|
|bookworm|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-debian-bookworm-arm.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge"></a>|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-debian-bookworm-aarch64.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge"></a>|
|trixie|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-debian-trixie-arm.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge"></a>|<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-debian-trixie-aarch64.zip"><img alt="opencv4-debian" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge"></a>|
</td>
</tr>
@@ -339,8 +341,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br />riscv64-linux-musl<br />
&#9989; HW JPG decoder<br />
&#9989; MIPI CSI camera<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-milkv-duo.zip">
<img alt="opencv4-milkv-duo" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-milkv-duo.zip">
<img alt="opencv4-milkv-duo" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -351,8 +353,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br />riscv64-linux-musl<br />
&#9989; HW JPG decoder<br />
&#9989; MIPI CSI camera<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-licheerv-nano.zip">
<img alt="opencv4-licheerv-nano" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-licheerv-nano.zip">
<img alt="opencv4-licheerv-nano" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -364,8 +366,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
&#9989; HW JPG encoder<br />
&#9989; MIPI CSI camera<br />
&#9989; DPI LCD screen<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-luckfox-pico.zip">
<img alt="opencv4-luckfox-pico" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-luckfox-pico.zip">
<img alt="opencv4-luckfox-pico" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
</tr>
@@ -378,8 +380,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br />arm-linux-uclibcgnueabihf<br />
&#9989; MIPI CSI camera<br />
<a href="https://github.com/nihui/opencv-mobile/releases/download/v32/yuzuki-lizard-isp-lib.zip"><b>extra isp lib into /usr/lib</b></a><br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-yuzuki-lizard.zip">
<img alt="opencv4-yuzuki-lizard" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-yuzuki-lizard.zip">
<img alt="opencv4-yuzuki-lizard" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -392,8 +394,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
&#9989; HW JPG encoder<br />
&#9989; MIPI CSI camera<br />
&#9989; SPI LCD screen<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-tinyvision.zip">
<img alt="opencv4-tinyvision" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-tinyvision.zip">
<img alt="opencv4-tinyvision" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -404,8 +406,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br />arm-openwrt-linux-gnueabi<br />
&#9989; HW JPG decoder<br />
&#9989; HW JPG encoder<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-yuzuki-chameleon.zip">
<img alt="opencv4-yuzuki-chameleon" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-yuzuki-chameleon.zip">
<img alt="opencv4-yuzuki-chameleon" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
</tr>
@@ -416,8 +418,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br /><b>avaota-f1</b>
</a>
<br />riscv32-linux-musl<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-avaota-f1.zip">
<img alt="opencv4-avaota-f1" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-avaota-f1.zip">
<img alt="opencv4-avaota-f1" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -426,8 +428,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br /><b>purple-pi</b>
</a>
<br />arm-linux-uclibcgnueabihf<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-purple-pi.zip">
<img alt="opencv4-purple-pi" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-purple-pi.zip">
<img alt="opencv4-purple-pi" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -438,8 +440,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br />arm-linux-gnueabi<br />
&#9989; HW JPG decoder<br />
&#9989; HW JPG encoder<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-myir-t113i.zip">
<img alt="opencv4-myir-t113i" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-myir-t113i.zip">
<img alt="opencv4-myir-t113i" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
</tr>
@@ -450,8 +452,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
<br /><b>2k0300-fengniao</b>
</a>
<br />loongarch64-linux-gnu<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-2k0300-fengniao.zip">
<img alt="opencv4-2k0300-fengniao" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-2k0300-fengniao.zip">
<img alt="opencv4-2k0300-fengniao" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
<td>
@@ -463,8 +465,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
&#9989; HW JPG encoder<br />
&#9989; MIPI CSI camera<br />
&#9989; DPI LCD screen<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0-lockzhiner-vision-module.zip">
<img alt="opencv4-lockzhiner-vision-module" src="https://img.shields.io/badge/download-4.12.0-blue?style=for-the-badge">
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0-lockzhiner-vision-module.zip">
<img alt="opencv4-lockzhiner-vision-module" src="https://img.shields.io/badge/download-4.13.0-blue?style=for-the-badge">
</a>
</td>
</tr>
@@ -476,7 +478,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
2. Modify ```<project dir>/app/src/main/jni/CMakeLists.txt``` to find and link opencv
```cmake
set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.12.0-android/sdk/native/jni)
set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.13.0-android/sdk/native/jni)
find_package(OpenCV REQUIRED)
target_link_libraries(your_jni_target ${OpenCV_LIBS})
@@ -493,7 +495,7 @@ target_link_libraries(your_jni_target ${OpenCV_LIBS})
3. Pass ```-DOpenCV_STATIC=ON``` to cmake option for windows build
```cmake
set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.12.0-armlinux/arm-linux-gnueabihf/lib/cmake/opencv4)
set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.13.0-armlinux/arm-linux-gnueabihf/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)
target_link_libraries(your_target ${OpenCV_LIBS})
@@ -512,9 +514,9 @@ The opencv-mobile source code package is the result of steps 1 and 2. Based on i
**step 1. download opencv-mobile source**
```shell
wget -q https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.12.0.zip
unzip -q opencv-mobile-4.12.0.zip
cd opencv-mobile-4.12.0
wget -q https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.13.0.zip
unzip -q opencv-mobile-4.13.0.zip
cd opencv-mobile-4.13.0
```
**step 2. apply your opencv option changes to options.txt**
@@ -536,7 +538,7 @@ make install
**step 4. make a package**
```shell
zip -r -9 opencv-mobile-4.12.0-mypackage.zip install
zip -r -9 opencv-mobile-4.13.0-mypackage.zip install
```
# Some notes
@@ -0,0 +1,15 @@
diff -Nuarp opencv-2.4.13.7.orig/CMakeLists.txt opencv-2.4.13.7/CMakeLists.txt
--- opencv-2.4.13.7.orig/CMakeLists.txt 2018-07-02 20:41:56.000000000 +0800
+++ opencv-2.4.13.7/CMakeLists.txt 2026-01-02 20:52:31.613210331 +0800
@@ -48,11 +48,6 @@ if(POLICY CMP0026)
cmake_policy(SET CMP0026 NEW)
endif()
-if (POLICY CMP0042)
- # silence cmake 3.0+ warnings about MACOSX_RPATH
- cmake_policy(SET CMP0042 OLD)
-endif()
-
# must go before the project command
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
if(DEFINED CMAKE_BUILD_TYPE AND CMAKE_VERSION VERSION_GREATER "2.8")
-12
View File
@@ -1,12 +0,0 @@
diff -Nuarp opencv-4.12.0.orig/modules/core/src/persistence.hpp opencv-4.12.0/modules/core/src/persistence.hpp
--- opencv-4.12.0.orig/modules/core/src/persistence.hpp 2025-07-13 20:34:53.501081691 +0800
+++ opencv-4.12.0/modules/core/src/persistence.hpp 2025-07-13 20:42:31.885337310 +0800
@@ -11,7 +11,7 @@
#include <string>
#include <iterator>
-#define USE_ZLIB 1
+#define USE_ZLIB 0
#if USE_ZLIB
# ifndef _LFS64_LARGEFILE
# define _LFS64_LARGEFILE 0
@@ -1,7 +1,7 @@
diff -Nuarp opencv-4.12.0.orig/modules/imgproc/include/opencv2/imgproc.hpp opencv-4.12.0/modules/imgproc/include/opencv2/imgproc.hpp
--- opencv-4.12.0.orig/modules/imgproc/include/opencv2/imgproc.hpp 2025-07-13 20:34:53.921109201 +0800
+++ opencv-4.12.0/modules/imgproc/include/opencv2/imgproc.hpp 2025-07-13 20:47:35.128999775 +0800
@@ -4985,6 +4985,37 @@ CV_EXPORTS_W double getFontScaleFromHeig
diff -Nuarp opencv-4.13.0.orig/modules/imgproc/include/opencv2/imgproc.hpp opencv-4.13.0/modules/imgproc/include/opencv2/imgproc.hpp
--- opencv-4.13.0.orig/modules/imgproc/include/opencv2/imgproc.hpp 2026-01-01 16:13:42.445971057 +0800
+++ opencv-4.13.0/modules/imgproc/include/opencv2/imgproc.hpp 2026-01-01 16:50:30.727992322 +0800
@@ -5070,6 +5070,37 @@ CV_EXPORTS_W double getFontScaleFromHeig
const int pixelHeight,
const int thickness = 1);
@@ -39,9 +39,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/include/opencv2/imgproc.hpp openc
/** @brief Class for iterating over all pixels on a raster line segment.
The class LineIterator is used to get each pixel of a raster line connecting
diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/modules/imgproc/src/drawing.cpp
--- opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp 2025-07-13 20:34:53.982915100 +0800
+++ opencv-4.12.0/modules/imgproc/src/drawing.cpp 2025-07-13 20:47:35.129302958 +0800
diff -Nuarp opencv-4.13.0.orig/modules/imgproc/src/drawing.cpp opencv-4.13.0/modules/imgproc/src/drawing.cpp
--- opencv-4.13.0.orig/modules/imgproc/src/drawing.cpp 2026-01-01 16:13:42.505901723 +0800
+++ opencv-4.13.0/modules/imgproc/src/drawing.cpp 2026-01-01 16:50:30.728267741 +0800
@@ -43,6 +43,25 @@ using namespace cv;
namespace cv
@@ -68,7 +68,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
enum { XY_SHIFT = 16, XY_ONE = 1 << XY_SHIFT, DRAWING_STORAGE_BLOCK = (1<<12) - 256 };
static const int MAX_THICKNESS = 32767;
@@ -2069,6 +2088,7 @@ void polylines( InputOutputArray _img, c
@@ -2087,6 +2106,7 @@ void polylines( InputOutputArray _img, c
}
@@ -76,7 +76,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
enum { FONT_SIZE_SHIFT=8, FONT_ITALIC_ALPHA=(1 << 8),
FONT_ITALIC_DIGIT=(2 << 8), FONT_ITALIC_PUNCT=(4 << 8),
FONT_ITALIC_BRACES=(8 << 8), FONT_HAVE_GREEK=(16 << 8),
@@ -2283,6 +2303,7 @@ inline void readCheck(int &c, int &i, co
@@ -2301,6 +2321,7 @@ inline void readCheck(int &c, int &i, co
}
extern const char* g_HersheyGlyphs[];
@@ -84,7 +84,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
void putText( InputOutputArray _img, const String& text, Point org,
int fontFace, double fontScale, Scalar color,
@@ -2296,6 +2317,35 @@ void putText( InputOutputArray _img, con
@@ -2314,6 +2335,35 @@ void putText( InputOutputArray _img, con
return;
}
Mat img = _img.getMat();
@@ -120,7 +120,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
const int* ascii = getFontData(fontFace);
double buf[4];
@@ -2350,10 +2400,21 @@ void putText( InputOutputArray _img, con
@@ -2368,10 +2418,21 @@ void putText( InputOutputArray _img, con
}
view_x += dx;
}
@@ -142,7 +142,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
Size size;
double view_x = 0;
const char **faces = cv::g_HersheyGlyphs;
@@ -2380,10 +2441,13 @@ Size getTextSize( const String& text, in
@@ -2398,10 +2459,13 @@ Size getTextSize( const String& text, in
if( _base_line )
*_base_line = cvRound(base_line*fontScale + thickness*0.5);
return size;
@@ -156,7 +156,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
// By https://stackoverflow.com/a/27898487/1531708
const int* ascii = getFontData(fontFace);
@@ -2391,6 +2455,96 @@ double getFontScaleFromHeight(const int
@@ -2409,6 +2473,96 @@ double getFontScaleFromHeight(const int
int cap_line = (ascii[0] >> 4) & 15;
return static_cast<double>(pixelHeight - static_cast<double>((thickness + 1)) / 2.0) / static_cast<double>(cap_line + base_line);
@@ -253,7 +253,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
}
}
@@ -2870,7 +3024,7 @@ cvInitFont( CvFont *font, int font_face,
@@ -2888,7 +3042,7 @@ cvInitFont( CvFont *font, int font_face,
{
CV_Assert( font != 0 && hscale > 0 && vscale > 0 && thickness >= 0 );
@@ -262,9 +262,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/drawing.cpp opencv-4.12.0/mod
font->font_face = font_face;
font->hscale = (float)hscale;
font->vscale = (float)vscale;
diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/hershey_fonts.cpp opencv-4.12.0/modules/imgproc/src/hershey_fonts.cpp
--- opencv-4.12.0.orig/modules/imgproc/src/hershey_fonts.cpp 2025-07-13 20:34:53.994911429 +0800
+++ opencv-4.12.0/modules/imgproc/src/hershey_fonts.cpp 2025-07-13 20:47:35.129521420 +0800
diff -Nuarp opencv-4.13.0.orig/modules/imgproc/src/hershey_fonts.cpp opencv-4.13.0/modules/imgproc/src/hershey_fonts.cpp
--- opencv-4.13.0.orig/modules/imgproc/src/hershey_fonts.cpp 2026-01-01 16:13:42.517507579 +0800
+++ opencv-4.13.0/modules/imgproc/src/hershey_fonts.cpp 2026-01-01 16:50:30.728450215 +0800
@@ -51,6 +51,7 @@
namespace cv
{
@@ -1,6 +1,6 @@
diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVDetectCXXCompiler.cmake opencv-4.12.0/cmake/OpenCVDetectCXXCompiler.cmake
--- opencv-4.12.0.orig/cmake/OpenCVDetectCXXCompiler.cmake 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/OpenCVDetectCXXCompiler.cmake 2025-07-13 20:45:15.821962247 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/OpenCVDetectCXXCompiler.cmake opencv-4.13.0/cmake/OpenCVDetectCXXCompiler.cmake
--- opencv-4.13.0.orig/cmake/OpenCVDetectCXXCompiler.cmake 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/cmake/OpenCVDetectCXXCompiler.cmake 2026-01-01 16:46:51.299806919 +0800
@@ -154,9 +154,9 @@ elseif(MSVC)
# see Modules/CMakeGenericSystem.cmake
if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
@@ -13,9 +13,9 @@ diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVDetectCXXCompiler.cmake opencv-4.12.0
set(OpenCV_ARCH "ARM")
elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
set(OpenCV_ARCH "x64")
diff -Nuarp opencv-4.12.0.orig/cmake/templates/OpenCVConfig.root-WIN32.cmake.in opencv-4.12.0/cmake/templates/OpenCVConfig.root-WIN32.cmake.in
--- opencv-4.12.0.orig/cmake/templates/OpenCVConfig.root-WIN32.cmake.in 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/templates/OpenCVConfig.root-WIN32.cmake.in 2025-07-13 20:45:15.822091762 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/templates/OpenCVConfig.root-WIN32.cmake.in opencv-4.13.0/cmake/templates/OpenCVConfig.root-WIN32.cmake.in
--- opencv-4.13.0.orig/cmake/templates/OpenCVConfig.root-WIN32.cmake.in 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/cmake/templates/OpenCVConfig.root-WIN32.cmake.in 2026-01-01 16:46:51.299917166 +0800
@@ -99,9 +99,9 @@ elseif(MSVC)
# see Modules/CMakeGenericSystem.cmake
if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
@@ -1,6 +1,6 @@
diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.12.0/cmake/OpenCVGenConfig.cmake
--- opencv-4.12.0.orig/cmake/OpenCVGenConfig.cmake 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/OpenCVGenConfig.cmake 2025-07-13 20:44:03.721541472 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.13.0/cmake/OpenCVGenConfig.cmake
--- opencv-4.13.0.orig/cmake/OpenCVGenConfig.cmake 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/cmake/OpenCVGenConfig.cmake 2026-01-01 16:45:42.926305498 +0800
@@ -19,6 +19,10 @@ if(HAVE_CUDA)
endif()
endif()
@@ -12,9 +12,9 @@ diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.12.0/cmake/O
if(ANDROID)
if(NOT ANDROID_NATIVE_API_LEVEL)
set(OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE 0)
diff -Nuarp opencv-4.12.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.12.0/cmake/templates/OpenCVConfig.cmake.in
--- opencv-4.12.0.orig/cmake/templates/OpenCVConfig.cmake.in 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/templates/OpenCVConfig.cmake.in 2025-07-13 20:44:03.721676457 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.13.0/cmake/templates/OpenCVConfig.cmake.in
--- opencv-4.13.0.orig/cmake/templates/OpenCVConfig.cmake.in 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/cmake/templates/OpenCVConfig.cmake.in 2026-01-01 16:45:42.926448106 +0800
@@ -94,6 +94,7 @@ endif()
@@ -23,18 +23,18 @@ diff -Nuarp opencv-4.12.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.12
@ANDROID_CONFIGCMAKE@
@IPPICV_CONFIGCMAKE@
diff -Nuarp opencv-4.12.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in opencv-4.12.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in
--- opencv-4.12.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in 1970-01-01 08:00:00.000000000 +0800
+++ opencv-4.12.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in 2025-07-13 20:44:03.721720150 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in opencv-4.13.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in
--- opencv-4.13.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in 1970-01-01 08:00:00.000000000 +0800
+++ opencv-4.13.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in 2026-01-01 16:45:42.926503451 +0800
@@ -0,0 +1,5 @@
+set(OpenCV_USE_OPENMP "@HAVE_OPENMP@")
+
+if(OpenCV_USE_OPENMP)
+ find_package(OpenMP)
+endif()
diff -Nuarp opencv-4.12.0.orig/modules/core/CMakeLists.txt opencv-4.12.0/modules/core/CMakeLists.txt
--- opencv-4.12.0.orig/modules/core/CMakeLists.txt 2025-07-13 20:34:53.411195513 +0800
+++ opencv-4.12.0/modules/core/CMakeLists.txt 2025-07-13 20:44:03.721762991 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/CMakeLists.txt opencv-4.13.0/modules/core/CMakeLists.txt
--- opencv-4.13.0.orig/modules/core/CMakeLists.txt 2026-01-01 16:13:41.956007067 +0800
+++ opencv-4.13.0/modules/core/CMakeLists.txt 2026-01-01 16:45:42.926543289 +0800
@@ -205,8 +205,14 @@ if(HAVE_HPX)
ocv_target_link_libraries(${the_module} LINK_PRIVATE "${HPX_LIBRARIES}")
endif()
@@ -51,10 +51,10 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/CMakeLists.txt opencv-4.12.0/modules
+ endif()
endif()
ocv_add_accuracy_tests()
diff -Nuarp opencv-4.12.0.orig/modules/video/CMakeLists.txt opencv-4.12.0/modules/video/CMakeLists.txt
--- opencv-4.12.0.orig/modules/video/CMakeLists.txt 2025-07-13 20:34:54.325975364 +0800
+++ opencv-4.12.0/modules/video/CMakeLists.txt 2025-07-13 20:44:03.721811613 +0800
set(test_libs "")
diff -Nuarp opencv-4.13.0.orig/modules/video/CMakeLists.txt opencv-4.13.0/modules/video/CMakeLists.txt
--- opencv-4.13.0.orig/modules/video/CMakeLists.txt 2026-01-01 16:13:42.839191479 +0800
+++ opencv-4.13.0/modules/video/CMakeLists.txt 2026-01-01 16:45:42.926601445 +0800
@@ -10,7 +10,3 @@ ocv_define_module(video
python
js
@@ -1,6 +1,6 @@
diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVGenAndroidMK.cmake opencv-4.12.0/cmake/OpenCVGenAndroidMK.cmake
--- opencv-4.12.0.orig/cmake/OpenCVGenAndroidMK.cmake 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/OpenCVGenAndroidMK.cmake 2025-07-13 20:45:44.236083195 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/OpenCVGenAndroidMK.cmake opencv-4.13.0/cmake/OpenCVGenAndroidMK.cmake
--- opencv-4.13.0.orig/cmake/OpenCVGenAndroidMK.cmake 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/cmake/OpenCVGenAndroidMK.cmake 2026-01-01 17:34:44.846147649 +0800
@@ -76,6 +76,4 @@ if(ANDROID)
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCV.mk.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk" @ONLY)
@@ -8,9 +8,9 @@ diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVGenAndroidMK.cmake opencv-4.12.0/cmak
- install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCV.mk DESTINATION ${OPENCV_CONFIG_INSTALL_PATH} COMPONENT dev)
- install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCV-${ANDROID_NDK_ABI_NAME}.mk DESTINATION ${OPENCV_CONFIG_INSTALL_PATH} COMPONENT dev)
endif(ANDROID)
diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVUtils.cmake opencv-4.12.0/cmake/OpenCVUtils.cmake
--- opencv-4.12.0.orig/cmake/OpenCVUtils.cmake 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/OpenCVUtils.cmake 2025-07-13 20:45:44.236238188 +0800
diff -Nuarp opencv-4.13.0.orig/cmake/OpenCVUtils.cmake opencv-4.13.0/cmake/OpenCVUtils.cmake
--- opencv-4.13.0.orig/cmake/OpenCVUtils.cmake 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/cmake/OpenCVUtils.cmake 2026-01-01 17:34:44.846306919 +0800
@@ -980,11 +980,6 @@ macro(ocv_finalize_status)
endif()
endif()
@@ -23,10 +23,21 @@ diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVUtils.cmake opencv-4.12.0/cmake/OpenC
endmacro()
diff -Nuarp opencv-4.12.0.orig/CMakeLists.txt opencv-4.12.0/CMakeLists.txt
--- opencv-4.12.0.orig/CMakeLists.txt 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/CMakeLists.txt 2025-07-13 20:45:44.236390165 +0800
@@ -1096,20 +1096,12 @@ ocv_add_modules_compiler_options()
diff -Nuarp opencv-4.13.0.orig/CMakeLists.txt opencv-4.13.0/CMakeLists.txt
--- opencv-4.13.0.orig/CMakeLists.txt 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/CMakeLists.txt 2026-01-01 17:35:53.090915688 +0800
@@ -638,10 +638,6 @@ set(OPENCV_EXTRA_MODULES_PATH "" CACHE P
ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS)
# --- Python Support ---
-if(NOT IOS AND NOT XROS)
- include(cmake/OpenCVDetectPython.cmake)
- include(cmake/OpenCVDetectDLPack.cmake)
-endif()
include(cmake/OpenCVCompilerOptions.cmake)
@@ -1097,20 +1093,12 @@ ocv_add_modules_compiler_options()
ocv_register_modules()
# Generate targets for documentation
@@ -47,7 +58,7 @@ diff -Nuarp opencv-4.12.0.orig/CMakeLists.txt opencv-4.12.0/CMakeLists.txt
# ----------------------------------------------------------------------------
# Finalization: generate configuration-based files
@@ -1121,20 +1113,13 @@ ocv_cmake_hook(PRE_FINALIZE)
@@ -1122,20 +1110,13 @@ ocv_cmake_hook(PRE_FINALIZE)
include(cmake/OpenCVGenHeaders.cmake)
# Generate opencv.pc for pkg-config command
@@ -68,7 +79,7 @@ diff -Nuarp opencv-4.12.0.orig/CMakeLists.txt opencv-4.12.0/CMakeLists.txt
# Generate ABI descriptor
include(cmake/OpenCVGenABI.cmake)
@@ -1160,12 +1145,6 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PA
@@ -1161,12 +1142,6 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PA
endif()
endif()
@@ -81,7 +92,7 @@ diff -Nuarp opencv-4.12.0.orig/CMakeLists.txt opencv-4.12.0/CMakeLists.txt
if(NOT OPENCV_LICENSE_FILE)
set(OPENCV_LICENSE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE)
endif()
@@ -1175,11 +1154,6 @@ if(ANDROID OR NOT UNIX)
@@ -1176,11 +1151,6 @@ if(ANDROID OR NOT UNIX)
install(FILES ${OPENCV_LICENSE_FILE}
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
DESTINATION ./ COMPONENT libs)
@@ -93,9 +104,9 @@ diff -Nuarp opencv-4.12.0.orig/CMakeLists.txt opencv-4.12.0/CMakeLists.txt
endif()
if(COMMAND ocv_pylint_finalize)
diff -Nuarp opencv-4.12.0.orig/data/CMakeLists.txt opencv-4.12.0/data/CMakeLists.txt
--- opencv-4.12.0.orig/data/CMakeLists.txt 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/data/CMakeLists.txt 2025-07-13 20:45:44.236516824 +0800
diff -Nuarp opencv-4.13.0.orig/data/CMakeLists.txt opencv-4.13.0/data/CMakeLists.txt
--- opencv-4.13.0.orig/data/CMakeLists.txt 2025-12-30 15:52:05.000000000 +0800
+++ opencv-4.13.0/data/CMakeLists.txt 2026-01-01 17:34:44.846595633 +0800
@@ -1,9 +1,6 @@
file(GLOB HAAR_CASCADES haarcascades/*.xml)
file(GLOB LBP_CASCADES lbpcascades/*.xml)
@@ -1,7 +1,7 @@
diff -Nuarp opencv-4.12.0.orig/modules/core/src/mathfuncs.cpp opencv-4.12.0/modules/core/src/mathfuncs.cpp
--- opencv-4.12.0.orig/modules/core/src/mathfuncs.cpp 2025-07-13 20:34:53.536599577 +0800
+++ opencv-4.12.0/modules/core/src/mathfuncs.cpp 2025-07-13 20:49:01.526535532 +0800
@@ -1929,8 +1929,13 @@ const double* getExpTab64f()
diff -Nuarp opencv-4.13.0.orig/modules/core/src/mathfuncs.cpp opencv-4.13.0/modules/core/src/mathfuncs.cpp
--- opencv-4.13.0.orig/modules/core/src/mathfuncs.cpp 2026-01-01 16:13:42.078226889 +0800
+++ opencv-4.13.0/modules/core/src/mathfuncs.cpp 2026-01-01 16:51:47.665736379 +0800
@@ -1948,8 +1948,13 @@ const double* getExpTab64f()
const float* getExpTab32f()
{
static float CV_DECL_ALIGNED(64) expTab_f[EXPTAB_MASK+1];
@@ -15,10 +15,10 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/mathfuncs.cpp opencv-4.12.0/modu
{
for( int j = 0; j <= EXPTAB_MASK; j++ )
expTab_f[j] = (float)expTab[j];
diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel.cpp opencv-4.12.0/modules/core/src/parallel.cpp
--- opencv-4.12.0.orig/modules/core/src/parallel.cpp 2025-07-13 20:34:53.534609328 +0800
+++ opencv-4.12.0/modules/core/src/parallel.cpp 2025-07-13 20:49:01.526709430 +0800
@@ -517,6 +517,7 @@ void parallel_for_(const cv::Range& rang
diff -Nuarp opencv-4.13.0.orig/modules/core/src/parallel.cpp opencv-4.13.0/modules/core/src/parallel.cpp
--- opencv-4.13.0.orig/modules/core/src/parallel.cpp 2026-01-01 16:13:42.076306217 +0800
+++ opencv-4.13.0/modules/core/src/parallel.cpp 2026-01-01 16:51:47.665920927 +0800
@@ -513,6 +513,7 @@ void parallel_for_(const cv::Range& rang
if (range.empty())
return;
@@ -26,7 +26,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel.cpp opencv-4.12.0/modul
static std::atomic<bool> flagNestedParallelFor(false);
bool isNotNestedRegion = !flagNestedParallelFor.load();
if (isNotNestedRegion)
@@ -535,6 +536,7 @@ void parallel_for_(const cv::Range& rang
@@ -531,6 +532,7 @@ void parallel_for_(const cv::Range& rang
}
}
else // nested parallel_for_() calls are not parallelized
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,6 @@
diff -Nuarp opencv-4.12.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp opencv-4.12.0/modules/core/include/opencv2/core/bindings_utils.hpp
--- opencv-4.12.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp 2025-07-13 20:34:53.372129425 +0800
+++ opencv-4.12.0/modules/core/include/opencv2/core/bindings_utils.hpp 2025-07-13 21:38:10.818186252 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp opencv-4.13.0/modules/core/include/opencv2/core/bindings_utils.hpp
--- opencv-4.13.0.orig/modules/core/include/opencv2/core/bindings_utils.hpp 2026-01-01 16:13:41.918139261 +0800
+++ opencv-4.13.0/modules/core/include/opencv2/core/bindings_utils.hpp 2026-01-01 16:42:10.913176657 +0800
@@ -202,12 +202,6 @@ void generateVectorOfMat(size_t len, int
}
@@ -29,9 +29,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/include/opencv2/core/bindings_utils.
return p.getArrayResult();
}
diff -Nuarp opencv-4.12.0.orig/modules/core/src/async.cpp opencv-4.12.0/modules/core/src/async.cpp
--- opencv-4.12.0.orig/modules/core/src/async.cpp 2025-07-13 20:39:13.959090096 +0800
+++ opencv-4.12.0/modules/core/src/async.cpp 2025-07-13 21:38:10.818321197 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/async.cpp opencv-4.13.0/modules/core/src/async.cpp
--- opencv-4.13.0.orig/modules/core/src/async.cpp 2026-01-01 16:41:44.635786972 +0800
+++ opencv-4.13.0/modules/core/src/async.cpp 2026-01-01 16:42:10.913304137 +0800
@@ -100,7 +100,6 @@ struct AsyncArray::Impl
if (has_exception)
{
@@ -48,9 +48,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/async.cpp opencv-4.12.0/modules/
}
CV_Error(Error::StsInternal, "AsyncArray: invalid state of 'has_result = true'");
return false;
diff -Nuarp opencv-4.12.0.orig/modules/core/src/bindings_utils.cpp opencv-4.12.0/modules/core/src/bindings_utils.cpp
--- opencv-4.12.0.orig/modules/core/src/bindings_utils.cpp 2025-07-13 20:34:53.534086711 +0800
+++ opencv-4.12.0/modules/core/src/bindings_utils.cpp 2025-07-13 21:38:10.818378715 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/bindings_utils.cpp opencv-4.13.0/modules/core/src/bindings_utils.cpp
--- opencv-4.13.0.orig/modules/core/src/bindings_utils.cpp 2026-01-01 16:13:42.075875343 +0800
+++ opencv-4.13.0/modules/core/src/bindings_utils.cpp 2026-01-01 16:42:10.913373388 +0800
@@ -22,7 +22,7 @@ String dumpInputArray(InputArray argumen
return "InputArray: noArray()";
std::ostringstream ss;
@@ -147,9 +147,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/bindings_utils.cpp opencv-4.12.0
return ss.str();
}
diff -Nuarp opencv-4.12.0.orig/modules/core/src/command_line_parser.cpp opencv-4.12.0/modules/core/src/command_line_parser.cpp
--- opencv-4.12.0.orig/modules/core/src/command_line_parser.cpp 2025-07-13 20:34:53.537230759 +0800
+++ opencv-4.12.0/modules/core/src/command_line_parser.cpp 2025-07-13 21:38:10.818428600 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/command_line_parser.cpp opencv-4.13.0/modules/core/src/command_line_parser.cpp
--- opencv-4.13.0.orig/modules/core/src/command_line_parser.cpp 2026-01-01 16:13:42.078812517 +0800
+++ opencv-4.13.0/modules/core/src/command_line_parser.cpp 2026-01-01 16:42:10.913429824 +0800
@@ -119,7 +119,6 @@ static void from_str(const String& str,
void CommandLineParser::getByName(const String& name, bool space_delete, Param type, void* dst) const
@@ -246,10 +246,10 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/command_line_parser.cpp opencv-4
}
return vec;
diff -Nuarp opencv-4.12.0.orig/modules/core/src/dxt.cpp opencv-4.12.0/modules/core/src/dxt.cpp
--- opencv-4.12.0.orig/modules/core/src/dxt.cpp 2025-07-13 20:39:13.959381686 +0800
+++ opencv-4.12.0/modules/core/src/dxt.cpp 2025-07-13 21:37:40.157743062 +0800
@@ -826,6 +826,30 @@ struct OcvDftOptions {
diff -Nuarp opencv-4.13.0.orig/modules/core/src/dxt.cpp opencv-4.13.0/modules/core/src/dxt.cpp
--- opencv-4.13.0.orig/modules/core/src/dxt.cpp 2026-01-01 16:41:44.636083551 +0800
+++ opencv-4.13.0/modules/core/src/dxt.cpp 2026-01-01 16:42:10.913533731 +0800
@@ -834,6 +834,30 @@ struct OcvDftOptions {
}
};
@@ -280,7 +280,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/dxt.cpp opencv-4.12.0/modules/co
// mixed-radix complex discrete Fourier transform: double-precision version
template<typename T> static void
DFT(const OcvDftOptions & c, const Complex<T>* src, Complex<T>* dst)
@@ -841,16 +865,7 @@ DFT(const OcvDftOptions & c, const Compl
@@ -849,16 +873,7 @@ DFT(const OcvDftOptions & c, const Compl
Complex<T> t;
T scale = (T)c.scale;
@@ -298,9 +298,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/dxt.cpp opencv-4.12.0/modules/co
if( c.useIpp )
{
diff -Nuarp opencv-4.12.0.orig/modules/core/src/glob.cpp opencv-4.12.0/modules/core/src/glob.cpp
--- opencv-4.12.0.orig/modules/core/src/glob.cpp 2025-07-13 20:34:53.536156931 +0800
+++ opencv-4.12.0/modules/core/src/glob.cpp 2025-07-13 21:38:10.818490446 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/glob.cpp opencv-4.13.0/modules/core/src/glob.cpp
--- opencv-4.13.0.orig/modules/core/src/glob.cpp 2026-01-01 16:13:42.077792909 +0800
+++ opencv-4.13.0/modules/core/src/glob.cpp 2026-01-01 16:42:10.913761088 +0800
@@ -243,7 +243,6 @@ static void glob_rec(const cv::String& d
if ((dir = opendir (directory.c_str())) != 0)
{
@@ -321,9 +321,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/glob.cpp opencv-4.12.0/modules/c
closedir(dir);
}
else
diff -Nuarp opencv-4.12.0.orig/modules/core/src/matrix.cpp opencv-4.12.0/modules/core/src/matrix.cpp
--- opencv-4.12.0.orig/modules/core/src/matrix.cpp 2025-07-13 20:34:53.545189782 +0800
+++ opencv-4.12.0/modules/core/src/matrix.cpp 2025-07-13 21:38:10.818552694 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/matrix.cpp opencv-4.13.0/modules/core/src/matrix.cpp
--- opencv-4.13.0.orig/modules/core/src/matrix.cpp 2026-01-01 16:13:42.086347184 +0800
+++ opencv-4.13.0/modules/core/src/matrix.cpp 2026-01-01 16:42:10.913833525 +0800
@@ -694,20 +694,11 @@ void Mat::create(int d, const int* _size
MatAllocator *a = allocator, *a0 = getDefaultAllocator();
if(!a)
@@ -365,9 +365,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/matrix.cpp opencv-4.12.0/modules
updateContinuityFlag();
diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel/parallel.cpp opencv-4.12.0/modules/core/src/parallel/parallel.cpp
--- opencv-4.12.0.orig/modules/core/src/parallel/parallel.cpp 2025-07-13 20:34:53.506481139 +0800
+++ opencv-4.12.0/modules/core/src/parallel/parallel.cpp 2025-07-13 21:38:10.818617917 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/parallel/parallel.cpp opencv-4.13.0/modules/core/src/parallel/parallel.cpp
--- opencv-4.13.0.orig/modules/core/src/parallel/parallel.cpp 2026-01-01 16:13:42.049334595 +0800
+++ opencv-4.13.0/modules/core/src/parallel/parallel.cpp 2026-01-01 16:42:10.913904629 +0800
@@ -60,7 +60,6 @@ std::shared_ptr<ParallelForAPI> createPa
}
isKnown = true;
@@ -391,9 +391,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel/parallel.cpp opencv-4.1
}
if (name.empty())
{
diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp opencv-4.12.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp
--- opencv-4.12.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2025-07-13 20:34:53.506007655 +0800
+++ opencv-4.12.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2025-07-13 21:38:10.818654306 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp opencv-4.13.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp
--- opencv-4.13.0.orig/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2026-01-01 16:13:42.048901326 +0800
+++ opencv-4.13.0/modules/core/src/parallel/plugin_parallel_wrapper.impl.hpp 2026-01-01 16:42:10.913944534 +0800
@@ -155,15 +155,10 @@ protected:
void initBackend()
{
@@ -429,9 +429,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel/plugin_parallel_wrapper
}
}
diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel.cpp opencv-4.12.0/modules/core/src/parallel.cpp
--- opencv-4.12.0.orig/modules/core/src/parallel.cpp 2025-07-13 20:34:53.534609328 +0800
+++ opencv-4.12.0/modules/core/src/parallel.cpp 2025-07-13 21:38:10.818707437 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/parallel.cpp opencv-4.13.0/modules/core/src/parallel.cpp
--- opencv-4.13.0.orig/modules/core/src/parallel.cpp 2026-01-01 16:13:42.076306217 +0800
+++ opencv-4.13.0/modules/core/src/parallel.cpp 2026-01-01 16:42:10.914000760 +0800
@@ -355,29 +355,9 @@ namespace {
CV_TRACE_ARG_VALUE(range_end, "range.end", (int64)r.end);
#endif
@@ -462,7 +462,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel.cpp opencv-4.12.0/modul
if (!ctx.is_rng_used && !(cv::theRNG() == ctx.rng))
ctx.is_rng_used = true;
@@ -523,16 +503,10 @@ void parallel_for_(const cv::Range& rang
@@ -519,16 +499,10 @@ void parallel_for_(const cv::Range& rang
isNotNestedRegion = !flagNestedParallelFor.exchange(true);
if (isNotNestedRegion)
{
@@ -479,9 +479,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/parallel.cpp opencv-4.12.0/modul
}
else // nested parallel_for_() calls are not parallelized
{
diff -Nuarp opencv-4.12.0.orig/modules/core/src/persistence.cpp opencv-4.12.0/modules/core/src/persistence.cpp
--- opencv-4.12.0.orig/modules/core/src/persistence.cpp 2025-07-13 20:34:53.538606458 +0800
+++ opencv-4.12.0/modules/core/src/persistence.cpp 2025-07-13 21:38:10.818819829 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/persistence.cpp opencv-4.13.0/modules/core/src/persistence.cpp
--- opencv-4.13.0.orig/modules/core/src/persistence.cpp 2026-01-01 16:13:42.080093018 +0800
+++ opencv-4.13.0/modules/core/src/persistence.cpp 2026-01-01 16:42:10.914127349 +0800
@@ -758,7 +758,7 @@ bool FileStorage::Impl::open(const char
strbufpos = bufOffset;
bufofs = 0;
@@ -524,10 +524,10 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/persistence.cpp opencv-4.12.0/mo
}
bool FileStorage::isOpened() const { return p->is_opened; }
diff -Nuarp opencv-4.12.0.orig/modules/core/src/system.cpp opencv-4.12.0/modules/core/src/system.cpp
--- opencv-4.12.0.orig/modules/core/src/system.cpp 2025-07-13 20:34:53.503020142 +0800
+++ opencv-4.12.0/modules/core/src/system.cpp 2025-07-13 21:38:10.818983909 +0800
@@ -1272,7 +1272,6 @@ void error( const Exception& exc )
diff -Nuarp opencv-4.13.0.orig/modules/core/src/system.cpp opencv-4.13.0/modules/core/src/system.cpp
--- opencv-4.13.0.orig/modules/core/src/system.cpp 2026-01-01 16:13:42.046187574 +0800
+++ opencv-4.13.0/modules/core/src/system.cpp 2026-01-01 16:42:10.914279616 +0800
@@ -1286,7 +1286,6 @@ void error( const Exception& exc )
*p = 0;
}
@@ -535,7 +535,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/system.cpp opencv-4.12.0/modules
#ifdef __GNUC__
# if !defined __clang__ && !defined __APPLE__
// this suppresses this warning: "noreturn" function does return [enabled by default]
@@ -2080,15 +2079,9 @@ void* TLSDataContainer::getData() const
@@ -2094,15 +2093,9 @@ void* TLSDataContainer::getData() const
{
// Create new data instance and save it to TLS storage
pData = createDataInstance();
@@ -551,7 +551,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/system.cpp opencv-4.12.0/modules
}
return pData;
}
@@ -2192,7 +2185,7 @@ inline bool parseOption(const std::strin
@@ -2206,7 +2199,7 @@ inline bool parseOption(const std::strin
{
return false;
}
@@ -560,7 +560,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/system.cpp opencv-4.12.0/modules
}
template<>
@@ -2213,7 +2206,7 @@ inline size_t parseOption(const std::str
@@ -2227,7 +2220,7 @@ inline size_t parseOption(const std::str
return v * 1024 * 1024;
else if (suffixStr == "KB" || suffixStr == "Kb" || suffixStr == "kb")
return v * 1024;
@@ -569,7 +569,7 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/system.cpp opencv-4.12.0/modules
}
template<>
@@ -2256,16 +2249,11 @@ static inline const char * envRead(const
@@ -2270,16 +2263,11 @@ static inline const char * envRead(const
template<typename T>
inline T read(const std::string & k, const T & defaultValue)
{
@@ -586,9 +586,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/system.cpp opencv-4.12.0/modules
return defaultValue;
}
diff -Nuarp opencv-4.12.0.orig/modules/core/src/umatrix.cpp opencv-4.12.0/modules/core/src/umatrix.cpp
--- opencv-4.12.0.orig/modules/core/src/umatrix.cpp 2025-07-13 20:39:13.960069736 +0800
+++ opencv-4.12.0/modules/core/src/umatrix.cpp 2025-07-13 21:38:10.819101641 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/umatrix.cpp opencv-4.13.0/modules/core/src/umatrix.cpp
--- opencv-4.13.0.orig/modules/core/src/umatrix.cpp 2026-01-01 16:41:44.636790724 +0800
+++ opencv-4.13.0/modules/core/src/umatrix.cpp 2026-01-01 16:42:10.914417666 +0800
@@ -594,14 +594,9 @@ UMat Mat::getUMat(AccessFlag accessFlags
new_u->originalUMatData = u;
}
@@ -667,9 +667,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/umatrix.cpp opencv-4.12.0/module
CV_XADD(&u->refcount, -1);
CV_Assert(u->data != 0 && "Error mapping of UMat to host memory.");
return Mat();
diff -Nuarp opencv-4.12.0.orig/modules/core/src/utils/filesystem.cpp opencv-4.12.0/modules/core/src/utils/filesystem.cpp
--- opencv-4.12.0.orig/modules/core/src/utils/filesystem.cpp 2025-07-13 20:34:53.528264934 +0800
+++ opencv-4.12.0/modules/core/src/utils/filesystem.cpp 2025-07-13 21:38:10.819174299 +0800
diff -Nuarp opencv-4.13.0.orig/modules/core/src/utils/filesystem.cpp opencv-4.13.0/modules/core/src/utils/filesystem.cpp
--- opencv-4.13.0.orig/modules/core/src/utils/filesystem.cpp 2026-01-01 16:13:42.070341408 +0800
+++ opencv-4.13.0/modules/core/src/utils/filesystem.cpp 2026-01-01 16:42:10.914498618 +0800
@@ -508,14 +508,9 @@ cv::String getCacheDirectory(const char*
&& !utils::fs::isDirectory(default_cache_path))
{
@@ -685,9 +685,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/core/src/utils/filesystem.cpp opencv-4.12
if (!existedCacheDirs.empty())
{
CV_LOG_WARNING(NULL, "Creating new OpenCV cache directory: " << default_cache_path);
diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/contours.cpp opencv-4.12.0/modules/imgproc/src/contours.cpp
--- opencv-4.12.0.orig/modules/imgproc/src/contours.cpp 2025-07-13 20:39:13.961175625 +0800
+++ opencv-4.12.0/modules/imgproc/src/contours.cpp 2025-07-13 21:38:10.819246104 +0800
diff -Nuarp opencv-4.13.0.orig/modules/imgproc/src/contours.cpp opencv-4.13.0/modules/imgproc/src/contours.cpp
--- opencv-4.13.0.orig/modules/imgproc/src/contours.cpp 2026-01-01 16:41:44.637889395 +0800
+++ opencv-4.13.0/modules/imgproc/src/contours.cpp 2026-01-01 16:42:10.914533740 +0800
@@ -1760,7 +1760,6 @@ cvFindContours_Impl( void* img, CvMemS
}
else
@@ -709,9 +709,9 @@ diff -Nuarp opencv-4.12.0.orig/modules/imgproc/src/contours.cpp opencv-4.12.0/mo
*firstContour = cvEndFindContours( &scanner );
}
diff -Nuarp opencv-4.12.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp opencv-4.12.0/modules/video/src/tracking/detail/tracking_feature.cpp
--- opencv-4.12.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp 2025-07-13 20:34:54.331668306 +0800
+++ opencv-4.12.0/modules/video/src/tracking/detail/tracking_feature.cpp 2025-07-13 21:38:10.819330454 +0800
diff -Nuarp opencv-4.13.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp opencv-4.13.0/modules/video/src/tracking/detail/tracking_feature.cpp
--- opencv-4.13.0.orig/modules/video/src/tracking/detail/tracking_feature.cpp 2026-01-01 16:13:42.844541346 +0800
+++ opencv-4.13.0/modules/video/src/tracking/detail/tracking_feature.cpp 2026-01-01 16:42:10.914667176 +0800
@@ -107,15 +107,9 @@ void CvHaarEvaluator::generateFeatures(i
CvHaarEvaluator::FeatureHaar::FeatureHaar(Size patchSize)
+12
View File
@@ -0,0 +1,12 @@
diff -Nuarp opencv-4.13.0.orig/modules/core/src/persistence.hpp opencv-4.13.0/modules/core/src/persistence.hpp
--- opencv-4.13.0.orig/modules/core/src/persistence.hpp 2026-01-01 16:13:42.044232187 +0800
+++ opencv-4.13.0/modules/core/src/persistence.hpp 2026-01-01 16:45:13.917007069 +0800
@@ -11,7 +11,7 @@
#include <string>
#include <iterator>
-#define USE_ZLIB 1
+#define USE_ZLIB 0
#if USE_ZLIB
# ifndef _LFS64_LARGEFILE
# define _LFS64_LARGEFILE 0
@@ -1,7 +1,7 @@
diff -Nuarp opencv-4.12.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4.12.0/modules/core/include/opencv2/core/cvdef.h
--- opencv-4.12.0.orig/modules/core/include/opencv2/core/cvdef.h 2025-07-13 20:39:13.958121426 +0800
+++ opencv-4.12.0/modules/core/include/opencv2/core/cvdef.h 2025-07-13 20:51:01.801632352 +0800
@@ -694,33 +694,7 @@ __CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumTy
diff -Nuarp opencv-4.13.0.orig/modules/core/include/opencv2/core/cvdef.h opencv-4.13.0/modules/core/include/opencv2/core/cvdef.h
--- opencv-4.13.0.orig/modules/core/include/opencv2/core/cvdef.h 2026-01-01 16:41:44.634784022 +0800
+++ opencv-4.13.0/modules/core/include/opencv2/core/cvdef.h 2026-01-01 16:52:36.786839898 +0800
@@ -696,33 +696,7 @@ __CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumTy
* exchange-add operation for atomic operations on reference counters *
\****************************************************************************************/