返回

Windows 上编译 OpenCV 以启用 CUDA 加速:综合指南

人工智能

Windows 上编译 OpenCV 启用 CUDA 加速

前提条件

  • Windows 10 64 位操作系统
  • NVIDIA CUDA 10.2 或更高版本
  • Microsoft Visual Studio 2019 或更高版本
  • CMake 3.14 或更高版本

步骤

1. 安装 CUDA 工具包

  • 从 NVIDIA 网站下载并安装 CUDA 工具包。
  • 设置 CUDA_PATH 环境变量以指向 CUDA 安装目录。

2. 克隆 OpenCV 源代码仓库

  • 在终端或命令提示符中,使用以下命令克隆 OpenCV 存储库:
git clone https://github.com/opencv/opencv.git

3. 切换到开发分支

  • 导航到克隆的存储库目录并切换到开发分支:
cd opencv
git checkout dev

4. 应用 CUDA 补丁

  • 要启用 CUDA 支持,需要应用 OpenCV 存储库中的 CUDA 补丁:
git apply opencv_contrib/modules/cuda/patches/cuda_add_opencv_extra.patch

5. 生成 CMake 缓存

  • 使用 CMake 配置构建:
mkdir build
cd build
cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -DOPENCV_ENABLE_CUDA=ON -DBUILD_CUDA_STUBS=OFF ..

6. 构建并安装 OpenCV

  • 构建 OpenCV:
cmake --build . --config Release
  • 安装 OpenCV:
cmake --install .

测试 CUDA 加速

要测试 CUDA 加速是否成功启用,请运行以下代码:

#include <opencv2/opencv.hpp>

int main() {
  cv::Mat image = cv::imread("image.jpg");

  // 检查 CUDA 设备是否可用
  if (cv::cuda::getCudaEnabledDeviceCount() > 0) {
    // 将图像上传到 GPU
    cv::cuda::GpuMat gpu_image(image);

    // 在 GPU 上执行图像处理
    cv::cuda::cvtColor(gpu_image, gpu_image, cv::COLOR_BGR2GRAY);

    // 将处理后的图像从 GPU 下载到 CPU
    cv::Mat processed_image(gpu_image);

    // 显示图像
    cv::imshow("Processed Image", processed_image);
    cv::waitKey();
  }

  return 0;
}

如果此代码在 GPU 上成功执行图像处理,则表明 CUDA 加速已成功启用。

结论

通过遵循本指南,您可以在 Windows 操作系统上成功编译 OpenCV 并启用 CUDA 加速。通过利用 CUDA 的 GPU 并行计算能力,您可以显著提高图像处理和计算机视觉任务的性能,从而为您的应用程序或研究解锁新的可能性。