当前位置: 首页 > article >正文

win11 Visual Studio 17 2022源码编译 opencv4.11.0 + cuda12.6.3 启用GPU加速

win11 Visual Studio 17 2022 源码编译 opencv4.11.0 + cuda12.6.3 启用GPU加速

配置:
生成 opencv
生成 opencv-python

1 下载源码和安装软件

win11 x64 系统

  1. 安装Visual Studio 17 2022

  2. 下载opencv4.11.0 源码
    https://github.com/opencv/opencv/releases/tag/4.11.0
    下载 Source code(zip) ,解压到 H:\workspace\opencv-4.11.0

  3. 下载opencv_contrib源码
    https://github.com/opencv/opencv_contrib/releases/tag/4.11.0
    下载 Source code(zip) ,解压到 H:\workspace\opencv-4.11.0\modules\opencv_contrib

  4. 下载cuda12.6.3 : 安装到 D:\software\nvidia\cuda12.6
    https://developer.nvidia.com/cuda-12-6-3-download-archive
    参考文档
    https://docs.nvidia.com/cuda/archive/12.6.3/cuda-installation-guide-microsoft-windows/index.html

  5. 下载 cudnn 对应cuda12版本
    https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/windows-x86_64/cudnn-windows-x86_64-9.7.1.26_cuda12-archive.zip
    解压到 D:\software\nvidia\cudnn-9.7.1.26_cu12 ,把此路径下 bin include lib
    复制到cuda12.6路径下 D:\software\nvidia\cuda12.6

  6. 下载安装 ffmpeg 最新版本
    安装到 D:\software\ffmpeg-gpl-shared

  7. cmake version 3.25.2
    安装到C:\software\CMake\bin

  8. 下载安装python3.12.9
    安装到 D:\software\Python\Python312

2 配置环境变量

CUDA_PATH=D:\software\nvidia\cuda12.6
FFMPRG_ROOT=D:\software\ffmpeg-gpl-shared
PATH=D:\software\nvidia\cuda12.6\bin;D:\software\nvidia\cuda12.6\libnvvp;%FFMPEG_ROOT%\bin;%FFMPEG_ROOT%\lib;C:\software\CMake\bin;D:\software\Python\Python312\;D:\software\Python\Python312\Scripts\;

3 源码修改下载地址

用 vscode 打开 源码 H:\workspace\opencv-4.11.0 ,搜索替换
raw.githubusercontent.com换成raw.staticdn.net

4 cmake 配置

使用我配置好的脚本直接运行,根据自己的路径修改
wmx_build.ps1 脚本:


# 设置 CUDA 路径
$env:CUDA_PATH = "D:\software\nvidia\cuda12.6"# 添加 Python 路径
$env:PYTHON3_BASE = "D:/software/Python/Python312"
$env:PYTHON3_EXECUTABLE = "$env:PYTHON3_BASE/python.exe"
$env:PYTHON3_INCLUDE_DIR = "$env:PYTHON3_BASE/include"
$env:PYTHON3_LIBRARY = "$env:PYTHON3_BASE/libs/python312.lib"
$env:PYTHON3_NUMPY_INCLUDE_DIRS = "$env:PYTHON3_BASE/Lib/site-packages/numpy/_core/include"
$env:PYTHON3_PACKAGES_PATH = "$env:PYTHON3_BASE/Lib/site-packages"# 切换到工作路径
$BUILD_DIR = "H:\workspace\opencv-4.11.0\build"
if (-Not (Test-Path $BUILD_DIR)) {mkdir $BUILD_DIR
}
cd $BUILD_DIR# Set-Location -Path $BUILD_DIR
echo "------------- Current directory is now: $(Get-Location)"# 编译线程数量
$env:THREAD_COUNT = 32
# 安装opencv到路径
$env:INSTALL_PREFIX="D:\software\opencv\4.11.0" # ========== CMake 配置 ==========
cmake -G "Visual Studio 17 2022" `-D CMAKE_INSTALL_PREFIX=$env:INSTALL_PREFIX `-D OPENCV_EXTRA_MODULES_PATH="H:\workspace\opencv-4.11.0\modules\opencv_contrib\modules" `-D CMAKE_BUILD_TYPE=RELEASE `-D CMAKE_CXX_FLAGS="/MP" `   # vs多线程编译-D OPENCV_GENERATE_PKGCONFIG=YES `-D WITH_CUDA=ON `-D WITH_NVCUVID=OFF `-D WITH_NVENC=OFF `-D CUDA_NVCC_FLAGS="-D_FORCE_INLINES --threads=32" ` # nvcc 启用多线程编译-D CUDA_FAST_MATH=ON `-D CUDA_ARCH_BIN="8.9" `  # 我是4070tisuper ,GPU计算能力 : https://developer.nvidia.com/cuda-gpus-D CUDNN_INCLUDE_DIR="$env:CUDA_PATH/include" `-D CUDNN_LIBRARY="$env:CUDA_PATH/lib/x64/cudnn.lib" `-D WITH_CUDNN=ON `-D OPENCV_DNN_CUDA=ON `-D BUILD_opencv_world=ON `-D WITH_CUBLAS=ON `-D BUILD_opencv_python3=ON `-D BUILD_opencv_python_bindings_generator=ON `-D OPENCV_FORCE_PYTHON_LIBS=ON `-D PYTHON3_LIMITED_API=OFF `-D OPENCV_SKIP_PYTHON_LOADER=OFF `-D OPENCV_PYTHON3_INSTALL_PATH="$env:PYTHON3_PACKAGES_PATH" `-D PYTHON3_EXECUTABLE="$env:PYTHON3_EXECUTABLE" `-D PYTHON3_INCLUDE_DIR="$env:PYTHON3_INCLUDE_DIR" `-D PYTHON3_LIBRARY="$env:PYTHON3_LIBRARY" `-D PYTHON3_NUMPY_INCLUDE_DIRS="$env:PYTHON3_NUMPY_INCLUDE_DIRS" `-D ENABLE_FAST_MATH=ON `..Set-Location -Path $BUILD_DIR
echo "------------- Current directory is now: $(Get-Location)"# ========== 构建指令 ==========
echo "--------------Compile with CMake------------"
echo "cmake --build . --config Release --target ALL_BUILD -j 32"
echo "--------------Compile with MSBuild----------"
echo "msbuild OpenCV.sln -p:Configuration=Release -p:Platform=x64 -m:32"
# ========== 安装 ==========
echo "--------------Then install-------------------"
echo "cmake --install ./"

打开Developer PowerShell for VS 2022
把 wmx_build.ps1 脚本 拖入窗口,执行

请添加图片描述

或者打开cmake-gui ,根据需要配置,比如去掉各种test等等
请添加图片描述

输出:

**********************************************************************
** Visual Studio 2022 Developer PowerShell v17.5.4
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
(anaconda3)PS C:\Users\admin\source\repos> H:\workspace\opencv-4.11.0\wmx_build.ps1
------------- Current directory is now: H:\workspace\opencv-4.11.0\build
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22631.
-- ocv_init_download: OpenCV source tree is not fetched as git repository. 3rdparty resources will be downloaded from github.com by default.
-- Detected processor: AMD64
-- Could NOT find AVIF (missing: AVIF_LIBRARY AVIF_INCLUDE_DIR)
-- libjpeg-turbo: VERSION = 3.0.3, BUILD = opencv-4.11.0-libjpeg-turbo
-- CMAKE_ASM_NASM_COMPILER = D:/software/strawberry/c/bin/nasm.exe
-- CMAKE_ASM_NASM_OBJECT_FORMAT = win64
-- CMAKE_ASM_NASM_FLAGS =  -DWIN64 -D__x86_64__
-- SIMD extensions: x86_64 (WITH_SIMD = 1)
-- Could NOT find OpenJPEG (minimal suitable version: 2.0, recommended version >= 2.3.1). OpenJPEG will be built from sources
-- OpenJPEG: VERSION = 2.5.0, BUILD = opencv-4.11.0-openjp2-2.5.0
-- OpenJPEG libraries will be built from sources: libopenjp2 (version "2.5.0")
-- found Intel IPP (ICV version): 2021.12.0 [2021.12.0]
-- at: H:/workspace/opencv-4.11.0/build/3rdparty/ippicv/ippicv_win/icv
-- found Intel IPP Integration Wrappers sources: 2021.12.0
-- at: H:/workspace/opencv-4.11.0/build/3rdparty/ippicv/ippicv_win/iw
-- Found NVCUVENC: D:/software/nvidia/cuda12.6/lib/x64/nvencodeapi.lib
-- CUDA detected: 12.6
-- CUDA: Using CUDA_ARCH_BIN=8.9
-- CUDA: NVCC target flags -D_FORCE_INLINES --threads=32;-gencode;arch=compute_89,code=sm_89;-D_FORCE_INLINES
-- CUDA: MSVS generator is detected. Disabling CMake re-run checks (CMAKE_SUPPRESS_REGENERATION=ON). You need to run CMake manually if updates are required.
-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- Could NOT find BLAS (missing: BLAS_LIBRARIES)
-- Could NOT find LAPACK (missing: LAPACK_LIBRARIES)Reason given by package: LAPACK could not be found because dependency BLAS could not be found.-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
-- Module opencv_alphamat disabled because the following dependencies are not found: Eigen
-- freetype2:   NO
-- harfbuzz:    NO
-- Julia not found. Not compiling Julia Bindings.
-- Module opencv_ovis disabled because OGRE3D was not found
-- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
-- Failed to find installed gflags CMake configuration, searching for gflags build directories exported with CMake.
-- Failed to find gflags - Failed to find an installed/exported CMake configuration for gflags, will perform search for installed gflags components.
-- Failed to find gflags - Could not find gflags include directory, set GFLAGS_INCLUDE_DIR to directory containing gflags/gflags.h
-- Failed to find glog - Could not find glog include directory, set GLOG_INCLUDE_DIR to directory containing glog/logging.h
-- Module opencv_sfm disabled because the following dependencies are not found: Eigen Glog/Gflags
-- Tesseract:   NO
-- Processing WORLD modules...
--     module opencv_cudev...
--     module opencv_core...
-- Allocator metrics storage type: 'long long'
-- Excluding from source files list: <BUILD>/modules/world/test/test_intrin256.lasx.cpp
--     module opencv_cudaarithm...
--     module opencv_flann...
--     module opencv_hdf...
--     module opencv_imgproc...
--     module opencv_intensity_transform...
--     module opencv_ml...
--     module opencv_phase_unwrapping...
--     module opencv_plot...
--     module opencv_quality...
--     module opencv_reg...
--     module opencv_signal...
--     module opencv_surface_matching...
--     module opencv_cudafilters...
--     module opencv_cudaimgproc...
--     module opencv_cudawarping...
--     module opencv_dnn...
-- Registering hook 'INIT_MODULE_SOURCES_opencv_dnn': H:/workspace/opencv-4.11.0/modules/dnn/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake
--     module opencv_dnn_superres...
--     module opencv_features2d...
--     module opencv_fuzzy...
--     module opencv_hfs...
--     module opencv_imgcodecs...
-- imgcodecs: OpenEXR codec is disabled in runtime. Details: https://github.com/opencv/opencv/issues/21326
--     module opencv_line_descriptor...
--     module opencv_photo...
--     module opencv_saliency...
--     module opencv_text...
--     module opencv_videoio...
--     module opencv_xphoto...
--     module opencv_calib3d...
--     module opencv_cudafeatures2d...
--     module opencv_cudastereo...
--     module opencv_datasets...
--     module opencv_highgui...
-- highgui: using builtin backend: WIN32UI
--     module opencv_mcc...
--     module opencv_objdetect...
--     module opencv_rapid...
--     module opencv_rgbd...
-- rgbd: Eigen support is disabled. Eigen is Required for Posegraph optimization
--     module opencv_shape...
--     module opencv_structured_light...
--     module opencv_video...
--     module opencv_xfeatures2d...
--     module opencv_ximgproc...
--     module opencv_xobjdetect...
--     module opencv_aruco...
--     module opencv_bgsegm...
--     module opencv_bioinspired...
--     module opencv_ccalib...
--     module opencv_cudabgsegm...
--     module opencv_cudalegacy...
--     module opencv_cudaobjdetect...
--     module opencv_dnn_objdetect...
--     module opencv_dpm...
--     module opencv_face...
--     module opencv_gapi...
--     module opencv_optflow...
--     module opencv_stitching...
--     module opencv_tracking...
--     module opencv_cudaoptflow...
-- Building with NVIDIA Optical Flow API 2.0
--     module opencv_stereo...
--     module opencv_superres...
--     module opencv_videostab...
-- Processing WORLD modules... DONE
-- Excluding from source files list: modules/imgproc/src/imgwarp.lasx.cpp
-- Excluding from source files list: modules/imgproc/src/resize.lasx.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/layers_common.rvv.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/layers_common.lasx.cpp
-- Excluding from source files list: <BUILD>/modules/world/int8layers/layers_common.rvv.cpp
-- Excluding from source files list: <BUILD>/modules/world/int8layers/layers_common.lasx.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/cpu_kernels/conv_block.neon.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/cpu_kernels/conv_block.neon_fp16.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/cpu_kernels/conv_depthwise.rvv.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/cpu_kernels/conv_depthwise.lasx.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/cpu_kernels/fast_gemm_kernels.neon.cpp
-- Excluding from source files list: <BUILD>/modules/world/layers/cpu_kernels/fast_gemm_kernels.lasx.cpp
-- Use autogenerated whitelist H:/workspace/opencv-4.11.0/build/modules/js_bindings_generator/whitelist.json
-- Found 'misc' Python modules from H:/workspace/opencv-4.11.0/modules/python/package/extra_modules
-- Found 'mat_wrapper;utils' Python modules from H:/workspace/opencv-4.11.0/modules/core/misc/python/package
-- Found 'gapi' Python modules from H:/workspace/opencv-4.11.0/modules/gapi/misc/python/package
-- Found 'misc' Python modules from H:/workspace/opencv-4.11.0/modules/python/package/extra_modules
-- Found 'mat_wrapper;utils' Python modules from H:/workspace/opencv-4.11.0/modules/core/misc/python/package
-- Found 'gapi' Python modules from H:/workspace/opencv-4.11.0/modules/gapi/misc/python/package
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):CONFIGURATION IS NOT SUPPORTED: validate setupvars script in installdirectory
Call Stack (most recent call first):CMakeLists.txt:1172 (include)--
-- General configuration for OpenCV 4.11.0 =====================================
--   Version control:               unknown
--
--   Extra modules:
--     Location (extra):            H:/workspace/opencv-4.11.0/modules/opencv_contrib/modules
--     Version control (extra):     unknown
--
--   Platform:
--     Timestamp:                   2025-03-07T10:45:31Z
--     Host:                        Windows 10.0.22631 AMD64
--     CMake:                       3.25.2
--     CMake generator:             Visual Studio 17 2022
--     CMake build tool:            C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe
--     MSVC:                        1935
--     Configuration:               Debug Release
--     Algorithm Hint:              ALGO_HINT_ACCURATE
--
--   CPU/HW features:
--     Baseline:                    SSE SSE2 SSE3
--       requested:                 SSE3
--     Dispatched code generation:  SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
--       SSE4_1 (18 files):         + SSSE3 SSE4_1
--       SSE4_2 (2 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
--       AVX (9 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
--       FP16 (1 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 AVX FP16
--       AVX2 (38 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 AVX FP16 AVX2 FMA3
--       AVX512_SKX (8 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 AVX FP16 AVX2 FMA3 AVX_512F AVX512_COMMON AVX512_SKX
--
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ standard:                11
--     C++ Compiler:                C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe  (ver 19.35.32217.1)
--     C++ flags (Release):         /MP  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:fast    /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819  /O2 /Ob2 /DNDEBUG
--     C++ flags (Debug):           /MP  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:fast    /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819  /Zi /Ob0 /Od /RTC1
--     C Compiler:                  C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe
--     C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:fast      /O2 /Ob2 /DNDEBUG
--     C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:fast    /Zi /Ob0 /Od /RTC1
--     Linker flags (Release):      /machine:x64  /INCREMENTAL:NO
--     Linker flags (Debug):        /machine:x64  /debug /INCREMENTAL
--     ccache:                      NO
--     Precompiled headers:         NO
--     Extra dependencies:          cudart_static.lib nppc.lib nppial.lib nppicc.lib nppidei.lib nppif.lib nppig.lib nppim.lib nppist.lib nppisu.lib nppitc.lib npps.lib cublas.lib cudnn.lib cufft.lib -LIBPATH:D:/software/nvidia/cuda12.6/lib/x64
--     3rdparty dependencies:
--
--   OpenCV modules:
--     To be built:                 aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dnn_superres dpm face features2d flann fuzzy gapi hdf hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency shape signal stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab world xfeatures2d ximgproc xobjdetect xphoto
--     Disabled:                    cudacodec python_tests wechat_qrcode
--     Disabled by dependency:      -
--     Unavailable:                 alphamat cannops cvv fastcv freetype java julia matlab ovis python2 python2 sfm viz
--     Applications:                tests perf_tests apps
--     Documentation:               NO
--     Non-free algorithms:         NO
--
--   Windows RT support:            NO
--
--   GUI:
--     Win32 UI:                    YES
--     VTK support:                 NO
--
--   Media I/O:
--     ZLib:                        build (ver 1.3.1)
--     JPEG:                        build-libjpeg-turbo (ver 3.0.3-70)
--       SIMD Support Request:      YES
--       SIMD Support:              YES
--     WEBP:                        build (ver decoder: 0x0209, encoder: 0x020f, demux: 0x0107)
--     AVIF:                        NO
--     PNG:                         build (ver 1.6.43)
--       SIMD Support Request:      YES
--       SIMD Support:              YES (Intel SSE)
--     TIFF:                        build (ver 42 - 4.6.0)
--     JPEG 2000:                   build (ver 2.5.0)
--     OpenEXR:                     build (ver 2.3.0)
--     GIF:                         NO
--     HDR:                         YES
--     SUNRASTER:                   YES
--     PXM:                         YES
--     PFM:                         YES
--
--   Video I/O:
--     FFMPEG:                      YES (prebuilt binaries)
--       avcodec:                   YES (58.134.100)
--       avformat:                  YES (58.76.100)
--       avutil:                    YES (56.70.100)
--       swscale:                   YES (5.9.100)
--       avresample:                YES (4.0.0)
--     GStreamer:                   YES (1.18.5)
--     DirectShow:                  YES
--     Media Foundation:            YES
--       DXVA:                      YES
--
--   Parallel framework:            Concurrency
--
--   Trace:                         YES (with Intel ITT)
--
--   Other third-party libraries:
--     Intel IPP:                   2021.12.0 [2021.12.0]
--            at:                   H:/workspace/opencv-4.11.0/build/3rdparty/ippicv/ippicv_win/icv
--     Intel IPP IW:                sources (2021.12.0)
--               at:                H:/workspace/opencv-4.11.0/build/3rdparty/ippicv/ippicv_win/iw
--     Lapack:                      NO
--     Eigen:                       NO
--     Custom HAL:                  NO
--     Protobuf:                    build (3.19.1)
--     Flatbuffers:                 builtin/3rdparty (23.5.9)
--
--   NVIDIA CUDA:                   YES (ver 12.6, CUFFT CUBLAS NVCUVENC FAST_MATH)
--     NVIDIA GPU arch:             89
--     NVIDIA PTX archs:
--
--   cuDNN:                         YES (ver 9.7.1)
--
--   OpenCL:                        YES (NVD3D11)
--     Include path:                H:/workspace/opencv-4.11.0/3rdparty/include/opencl/1.2
--     Link libraries:              Dynamic load
--
--   Python 3:
--     Interpreter:                 D:/software/Python/Python312/python.exe (ver 3.12.9)
--     Libraries:                   D:/software/Python/Python312/libs/python312.lib (ver 3.12.9)
--     Limited API:                 NO
--     numpy:                       D:/software/Python/Python312/Lib/site-packages/numpy/_core/include (ver 2.2.3)
--     install path:                D:/software/Python/Python312/Lib/site-packages/cv2/python-3.12
--
--   Python (for build):            D:/software/Python/Python312/python.exe
--
--   Java:
--     ant:                         NO
--     Java:                        YES (ver 1.8.0.302)
--     JNI:                         D:/software/Android/jdk/jdk-8.0.302.8-hotspot/jdk8u302-b08/include D:/software/Android/jdk/jdk-8.0.302.8-hotspot/jdk8u302-b08/include/win32 D:/software/Android/jdk/jdk-8.0.302.8-hotspot/jdk8u302-b08/include
--     Java wrappers:               NO
--     Java tests:                  NO
--
--   Install to:                    D:/software/Python/Python312
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: H:/workspace/opencv-4.11.0/build
------------- Current directory is now: H:\workspace\opencv-4.11.0\build
--------------Compile with CMake------------
cmake --build . --config Release --target ALL_BUILD -j 32
--------------Compile with MSBuild----------
msbuild OpenCV.sln -p:Configuration=Release -p:Platform=x64 -m:32
--------------Then install-------------------
msbuild OpenCV.sln -t:install -p:Configuration=Release -p:Platform=x64 -m:32
(anaconda3)PS H:\workspace\opencv-4.11.0\build>

5 多线程编译 :

我这里使用 32个线程,根据自己的cpu核心数配置
接着上面窗口输入:

cmake --build . --config Release --target ALL_BUILD -j 32

或者

msbuild OpenCV.sln -p:Configuration=Release -p:Platform=x64 -m:32

或者cmake-gui 窗口 Open Project 打开 vs 编译

6 安装

cmake --install ./

请添加图片描述

7 测试

test-cuda.py

import cv2# 打印完整构建信息(检查CUDA相关配置)
print("\n--- OpenCV构建信息 ---")
print(cv2.getBuildInformation())print("\n---------------------")# 检查OpenCV版本及CUDA支持
print("OpenCV版本:", cv2.__version__)
print("CUDA是否可用:", cv2.cuda.getCudaEnabledDeviceCount() > 0)# GPU内存管理测试
try:# 创建GPU内存分配器allocator = cv2.cuda_GpuMat()allocator.create(1024, 1024, cv2.CV_8UC1)  # 分配1024x1024的单通道图像内存print("\nGPU内存分配成功")
except Exception as e:print("\nGPU内存分配失败:", e)

输出:

请添加图片描述

异常处理

假如遇到 找不到 dll 问题
请使用 Dependencies 查看 cv2.cp312-win_amd64.pyd 依赖关系,没有缺少的dll 表示正确
如果缺少dll , 请查找并且复制到 cv2.cp312-win_amd64.pyd 同目录,我这是
D:\software\Python\Python312\Lib\site-packages\cv2\python-3.12

在这里插入图片描述

相关文章:

win11 Visual Studio 17 2022源码编译 opencv4.11.0 + cuda12.6.3 启用GPU加速

win11 Visual Studio 17 2022 源码编译 opencv4.11.0 cuda12.6.3 启用GPU加速 配置: 生成 opencv 生成 opencv-python 1 下载源码和安装软件 win11 x64 系统 安装Visual Studio 17 2022 下载opencv4.11.0 源码 https://github.com/opencv/opencv/releases/tag/4.11.0 下载…...

Ribbon实现原理

文章目录 概要什么是Ribbon客户端负载均衡 RestTemplate核心方法GET 请求getForEntitygetForObject POST 请求postForEntitypostForObjectpostForLocation PUT请求DELETE请求 源码分析类图关系 与Eureka结合重试机制 概要 什么是Ribbon Spring Cloud Ribbon是一个基于HTTP和T…...

MuMu-LLaMA:通过大型语言模型进行多模态音乐理解和生成(Python代码实现+论文)

MuMu-LLaMA 模型是一种音乐理解和生成模型&#xff0c;能够进行音乐问答以及从文本、图像、视频和音频生成音乐&#xff0c;以及音乐编辑。该模型利用了用于音乐理解的 MERT、用于图像理解的 ViT 和用于视频理解的 ViViT 等编码器&#xff0c;以及作为音乐生成模型&#xff08;…...

高效Android MQTT封装工具:简化物联网开发,提升性能与稳定性

在Android开发中&#xff0c;封装MQTT工具可以帮助简化与MQTT服务器的通信。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;常用于物联网&#xff08;IoT&#xff09;设备之间的通信。 以下是一个简单的MQ…...

数据库原理7

1.“数据库系统运行与维护工具”的研究属于数据库管理系统软件 2.1970年IBM公司的高级研究员E.F.Codd提出了关系数据模型 3.每个属性的属性值是不可分解的&#xff0c;即关系的每个分量必须是一个不可分的数据项。属性值的取值应满足域完整性约束。 4.视图作用&#xff1a;简…...

2025最新比较使用的ai工具都有哪些,分别主要用于哪些方面?

文章目录 一、AI对话与交互工具二、AI写作与内容生成工具三、AI绘画与设计工具四、AI视频生成工具五、办公与效率工具六、其他实用工具选择建议 根据2025年最新行业动态和用户反馈&#xff0c;以下AI工具在多个领域表现突出&#xff0c;覆盖对话、写作、设计、视频生成等场景&a…...

什么是 MyBatis? 它的优点和缺点是什么?

一、 什么是 MyBatis&#xff1f; 定义&#xff1a; MyBatis 是一款优秀的持久层框架&#xff0c;用于简化 Java 应用程序与数据库之间的交互。MyBatis 通过 XML 或注解 的方式&#xff0c;将 SQL 语句与 Java 代码分离&#xff0c;提供了一种灵活的、易于维护的数据访问解决方…...

在ArcMap中通过Python编写自定义工具(Python Toolbox)实现点转线工具

文章目录 一、需求二、实现过程2.1、创建Python工具箱&#xff08;.pyt&#xff09;2.2、使用catalog测试代码2.3、在ArcMap中使用工具 三、测试 一、需求 通过插件的形式将点转线功能嵌入ArcMap界面&#xff0c;如何从零开始创建一个插件&#xff0c;包括按钮的添加、工具的实…...

Array and string offset access syntax with curly braces is deprecated

警告信息 “Array and string offset access syntax with curly braces is deprecated” 是 PHP 中的一个弃用警告&#xff08;Deprecation Notice&#xff09;&#xff0c;表明在 PHP 中使用花括号 {} 来访问数组或字符串的偏移量已经被标记为过时。 背景 在 PHP 的早期版本…...

moodle 开源的在线学习管理系统(LMS)部署

一、Moodle 简介 Moodle&#xff08;Modular Object-Oriented Dynamic Learning Environment&#xff09;是一个开源的在线学习管理系统&#xff08;LMS&#xff09;&#xff0c;广泛应用于教育机构和企业培训。其核心功能包括课程管理、作业提交、在线测试、论坛互动和成绩跟…...

后智能体时代的LLM和Agent

文章目录 1. 关于AI重塑的哲学体系2. 关于AI大模型体系的认知3. 关于AI大模型体系的畅想4. 关于人和AI大模型体系的共处5. 写在最后 随着OpenAI、Deepseek、Manus等等智能体的爆火&#xff0c;人们茶前饭后、插科打诨的话题都离不开这些智能体&#xff0c;现状也正如《人民日报…...

Day6 DFS

一、跳台阶 一个楼梯共有 nn 级台阶&#xff0c;每次可以走一级或者两级&#xff0c;问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。 输入格式 共一行&#xff0c;包含一个整数 nn。 输出格式 共一行&#xff0c;包含一个整数&#xff0c;表示方案数。 数据范围 1…...

Releases(发布) 和 版本管理 是两个紧密相关的概念

在软件开发和维护中,Releases(发布) 和 版本管理 是两个紧密相关的概念,特别是在开源项目或企业软件开发中。 1. Releases(发布) Release 是指软件的一个正式发布版本,通常经过开发、测试、修复 Bug,并被认为是足够稳定和可用于生产环境的版本。 主要特点 里程碑:通…...

模型微调——模型性能提升方法及注意事项(自用)

名词补充 人为为训练数据标注的标签称为黄金标准或真实值&#xff0c;这个过程一定程度上保证训练的准确性&#xff0c;但是其人工标注的成本和时间很高&#xff0c;并且标注的标签受人的主观因素影响。 导致模型性能不佳的因素和解决办法 ①不同类别的数据不平衡&#xff1a;统…...

景联文科技:以精准数据标注赋能AI进化,构筑智能时代数据基石

在人工智能技术席卷全球的浪潮中&#xff0c;高质量数据已成为驱动AI模型进化的核心燃料。作为全球领先的AI数据服务解决方案提供商&#xff0c;景联文科技深耕数据标注领域多年&#xff0c;以技术为基、以专业为本&#xff0c;致力于为全球客户提供全场景、高精度、多模态的数…...

嵌入式L6计算机网络

Telnet不加密 socket是应用层和下面的内核...

华为鸿蒙系统全景解读:从内核设计到生态落地的技术革命

华为鸿蒙系统全景解读&#xff1a;从内核设计到生态落地的技术革命 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 华为鸿蒙系统全景解读&#x…...

2025最新软件测试面试八股文(含答案+文档)

1、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 参考答案&#xff1a; 黑盒测试&#xff1a;已知产品的功能设计规格&#xff0c;可以进行测试证明每个实现了的功能是否符合要求。 白盒测试&#xff1a;已知产品的内部工作过程…...

微前端框架 Qiankun 的应用及问题分析

一、Qiankun 的核心应用场景与优势 多技术栈共存与灵活集成 Qiankun 支持主应用与子应用使用不同技术栈&#xff08;如 Vue、React、Angular 等&#xff09;&#xff0c;通过 HTML Entry 方式接入子应用&#xff0c;无需深度改造子应用即可实现集成&#xff0c;降低了技术迁移成…...

八卡5090服务器首发亮相!

AI 人工智能领域热度居高不下。OpenAI 的 GPT - 4 凭强悍语言处理能力&#xff0c;在内容创作、智能客服等领域广泛应用。清华大学团队的 DeepSeek 大模型在深度学习训练优势突出&#xff0c;正促使各行业应用端算力需求向推理主导转变&#xff0c;呈爆发式增长 。 随着 DeepS…...

C#类型转换基本概念

一、基本定义‌ C# 类型转换是将数据从一种类型转换为另一种类型的过程&#xff0c;分为 ‌隐式转换‌ 和 ‌显式转换‌ 两类‌。 强类型语言特性‌&#xff1a;C# 要求变量类型在编译时确定&#xff0c;类型转换需满足兼容性或显式规则‌。目的‌&#xff1a;处理不同数据类…...

基于SSM+Vue+uniapp的驾校预约管理小程序+LW示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…...

关于C++数据类型char的类型是整数的思考

学习数据类型时&#xff0c;整数类型中有一个特殊的类型char&#xff0c;可以使用字符来为其赋&#xff0c;也可以用整数来为其赋值&#xff0c;这是怎么一回事&#xff1f;其实任何类型&#xff0c;在计算机的内存中&#xff0c;在最小的存储单元比特中&#xff0c;内部只有0或…...

在Spring Boot项目中分层架构

常见的分层架构包括以下几层: 1. Domain 层(领域层) 作用:领域层是业务逻辑的核心,包含与业务相关的实体类、枚举、值对象等。它是对业务领域的抽象,通常与数据库表结构直接映射。 主要组件: 实体类(Entity):与数据库表对应的Java类,通常使用JPA或MyBatis等ORM框架…...

《用Python+PyGame开发双人生存游戏!源码解析+完整开发思路分享》

导语​ "你是否想过用Python开发一款可玩性高的双人合作游戏&#xff1f;本文将分享如何从零开始实现一款类《吸血鬼幸存者》的生存射击游戏&#xff01;包含完整源码解析、角色系统设计、敌人AI逻辑等核心技术点&#xff0c;文末提供完整代码包下载&#xff01;" 哈…...

ArcGIS操作:13 生成最小外接矩阵

应用情景&#xff1a;筛选出屋面是否能放下12*60m的长方形&#xff0c;作为起降场候选点&#xff08;一个不规则的形状内&#xff0c;判断是否能放下指定长宽的长方形&#xff09; 1、面积初步筛选 Area ≥ 720 ㎡ 面积计算见 2、打开 ArcToolbox → Data Management Tools …...

manus对比ChatGPT-Deep reaserch进行研究类学术相关数据分析!谁更胜一筹?

没有账号&#xff0c;只能挑选一个案例 一夜之间被这个用全英文介绍全华班出品的新爆款国产AI产品的小胖刷频。白天还没有切换语言的选项&#xff0c;晚上就加上了。简单看了看团队够成&#xff0c;使用很长实践的Monica创始人也在其中。逐渐可以理解&#xff0c;重心放在海外产…...

android为第三方提供部分系统接口

文章目录 Settings - 亮灭屏Settings - 恢复出厂设置Settings - 数字锁屏/解锁Settings - 设置系统时间PackageInstaller - 安装/卸载第三方应用摘要:本文对系统模块进行改造,提供广播等形式的接口对外提供无法直接调用的系统级别接口,实现部分功能的集合。如果是广播形式,…...

在虚拟机上安装Hadoop

以下是在虚拟机上安装Hadoop的一般步骤&#xff1a; 准备工作 - 安装虚拟机软件&#xff1a;如VMware Workstation或VirtualBox等。 - 创建虚拟机&#xff1a;选择合适的操作系统镜像&#xff0c;如Ubuntu或CentOS等Linux发行版&#xff0c;为虚拟机分配足够的CPU、内存和磁盘…...

Python —— pow()函数

一、示例1 # 计算 2 的 3 次幂 result1 pow(2, 3) print(result1) # 输出: 8# 计算 2.5 的 2 次幂 result2 pow(2.5, 2) print(result2) # 输出: 6.25 二、示例2 # 计算 (2 ** 3) % 5 result3 pow(2, 3, 5) print(result3) # 输出: 3 三、示例3 ntxt input("请输…...