使用vcpkg安装完整版本的OpenCV4(含gpu功能)

1 前言

  • opencv4只支持qt4版本且包太大,不安装
  • opencv4-gtk为gtk图形界面,本人不需要且包太大,不安装
  • opencv4-python 本人不需要,不安装
  • opencv4-lapack安装过程出现的错误,错误信息,这可能是vcpkg的一个bug.截止发稿前未找到解决方案,因此也不安装

呈现lapack错误

vcpkg install lapack-reference --triplet=x64-windows --debug
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:158 (message):
    Command failed: E:/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j17
    Working Directory: E:/vcpkg/buildtrees/lapack-reference/x64-windows-dbg
    See logs for more information:
      E:\vcpkg\buildtrees\lapack-reference\install-x64-windows-dbg-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:112 (vcpkg_execute_build_process)
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:41 (vcpkg_cmake_build)
  ports/lapack-reference/portfile.cmake:72 (vcpkg_cmake_install)
  scripts/ports.cmake:146 (include)


error: building lapack-reference:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
    https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+lapack-reference
You can submit a new issue at:
    https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[lapack-reference]+Build+error
Include '[lapack-reference] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
    vcpkg-tool version: 2022-05-05-67e17c1782801cf481be9ac0b3765dff3e4bdeb8
    vcpkg-scripts version: 0cf5b4305 2022-05-13 (6 hours ago)

2 vcpkg完整安装opencv4

2.1 安装cuda

cuda,下载Latest Release版本,可能需要注册后才能下载。

2.2 安装Intel® Integrated Performance Primitives(IPP)

英特尔集成性能基元可用于提高OpenCV库的颜色转换、Haar训练和DFT函数的性能。请注意这不是一项免费服务。

在名称[Name (Click to initiate download)]后带号的表示在线安装包,不带的表示离线安装包,请下载离线安装包。

下载安装包

下载后的文件直接解压,然后再安装

2.3 其它

  • Intel Threading Building Blocks (TBB) vcpkg会自动安装

2.4 安装opencv4

#opencv4[qt] opencv4[gtk] opencv4[python] opencv4[lapack]
vcpkg install opencv4 opencv4[ade] opencv4[contrib] opencv4[cuda] opencv4[cudnn] opencv4[default-features] opencv4[dnn] opencv4[eigen] opencv4[ffmpeg] opencv4[freetype] opencv4[gdcm] opencv4[gstreamer] opencv4[halide] opencv4[ipp] opencv4[jasper] opencv4[jpeg] opencv4[nonfree] opencv4[openexr] opencv4[opengl] opencv4[openmp] opencv4[ovis] opencv4[png]  opencv4[quirc] opencv4[sfm] opencv4[tbb] opencv4[tiff] opencv4[vtk] opencv4[webp] opencv4[world] --triplet=x64-windows --recurse
### 解决 vcpkg 安装OpenCV4 支持 CUDA 的方法 为了使通过 vcpkg 安装OpenCV4 支持 CUDA 功能,可以按照特定的方法来配置和安装。由于默认情况下 vcpkg 可能不会自动启用 CUDA 支持,因此需要手动指定一些选项。 #### 配置环境变量和支持工具 确保已经正确设置了 CUDA 工具链以及相关路径。这通常意味着要确认 NVIDIA 显卡驱动程序已更新至最新版本,并且 CUDA Toolkit 和 cuDNN 库都已经被成功安装并加入到了系统的 PATH 环境变量中[^1]。 #### 使用自定义三元组文件 创建一个新的三元组文件(如 `x64-windows-cuda.cmake`),在这个文件里指明使用 CUDA 编译器和其他必要的参数: ```cmake set(VCPKG_TARGET_ARCHITECTURE x64) set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") set(OPENCV_EXTRA_FLAGS "--build=Debug --config=x64-windows-debug") endif() if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} --build=Release --config=x64-windows-release") endif() string(APPEND OPENCV_EXTRA_FLAGS " -DBUILD_opencv_python2=OFF ") string(APPEND OPENCV_EXTRA_FLAGS " -DBUILD_opencv_python3=OFF ") # Enable CUDA support here. string(APPEND OPENCV_EXTRA_FLAGS " -DWITH_CUDA=ON ") string(APPEND OPENCV_EXTRA_FLAGS " -DCUDA_TOOLKIT_ROOT_DIR=${ENV{CUDA_PATH}} ") string(APPEND OPENCV_EXTRA_FLAGS " -DCUDA_NVCC_FLAGS=-gencode;arch=compute_35,code=\"sm_35\";-gencode;arch=compute_50,code=\"sm_50\";-gencode;arch=compute_52,code=\"sm_52\";-gencode;arch=compute_60,code=\"sm_60\";-gencode;arch=compute_70,code=\"sm_70\";-gencode;arch=compute_80,code=\"sm_80\"") set(VCPKG_ENV_PASSTHROUGH "CUDA_PATH,CUDNN_LIBDIR,CUDNN_INCLUDE_DIR") ``` 保存上述内容到 `%USERPROFILE%\vcpkg\triplets\x64-windows-cuda.cmake` 文件位置下[^2]。 #### 执行安装命令 利用刚刚创建好的三元组文件来进行带有 CUDA 加速特性的 OpenCV 安装操作: ```bash .\vcpkg.exe install opencv4:x64-windows-cuda ``` 此命令将会基于新的三元组设置重新构建 OpenCV 并集成 CUDA 支持[^3]。 #### 测试安装成果 完成以上步骤之后,可以通过编写简单的测试代码验证是否能够正常使用 GPU 进行图像处理运算。例如,在 C++ 中加载图片并通过 CUDA 模块执行基本变换操作。 ```cpp #include <opencv2/core/cuda.hpp> #include <opencv2/imgproc.hpp> #include <iostream> int main() { cv::cuda::printShortCudaDeviceInfo(cv::cuda::getDevice()); std::cout << "OpenCV version : " << CV_VERSION << "\n"; // Load an image using CPU or load it directly into GPU memory depending on your needs. return 0; } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kmblack1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值