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

opencv-python的GPU调用

一、安装cuda,cudnn

英伟达官网下载安装即可:https://developer.nvidia.com/cuda-toolkit

二、安装opencv with cuda

两种方式:预编译版本,自己编译

1. 预编译版

进去opencv社区选择适合自己驱动版本的whl,下载后安装即可。
在这里插入图片描述

pip install opencv_contrib_python-4.12.0.88-cp37-abi3-win_amd64.whl

2. 自己编译

使用cmke构建opencv

cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="your_gpu_arch" -D CUDA_ARCH_PTX="" ..

三、使用方法

示例:“把一张图片上传到 GPU → 做高斯模糊 → 下载回 CPU → 显示”。

import cv2
import numpy as np# 1. 检查是否有可用 GPU
if cv2.cuda.getCudaEnabledDeviceCount() == 0:raise RuntimeError("OpenCV 未检测到支持 CUDA 的 GPU,请确认驱动 / CUDA Toolkit 安装正确。")# 2. 读取图像(CPU Mat)
img = cv2.imread('image.jpg', cv2.IMREAD_COLOR)
if img is None:raise FileNotFoundError("image.jpg 不存在")# 3. 上传到 GPU(GpuMat)
gpu_img = cv2.cuda_GpuMat()
gpu_img.upload(img)# 4. 创建 GPU 高斯滤波器并执行
gauss_filter = cv2.cuda.createGaussianFilter(cv2.CV_8UC3, cv2.CV_8UC3, (15, 15), 5)
gpu_blur = gauss_filter.apply(gpu_img)# 5. 下载回 CPU
blur = gpu_blur.download()# 6. 显示
cv2.imshow('Original', img)
cv2.imshow('Blurred (GPU)', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

第一次运行会有 JIT 编译 提示。
GPU 版的套路:upload → cv2.cuda.xxx → download。
任何 滤波 / 几何变换 / 光流 / DNN 都可以照搬这个模板。

http://www.lryc.cn/news/607525.html

相关文章:

  • 树莓派GPIO介绍 + LED控制
  • 智能Agent场景实战指南 Day 28:Agent成本控制与商业模式
  • xcode swift项目运行、连接真机运行报错,引入文件夹失败
  • [2025CVPR-图象生成方向]ODA-GAN:由弱监督学习辅助的正交解耦比对GAN 虚拟免疫组织化学染色
  • python PIL图片转base64字符串
  • 练习javaweb+mysql+jsp
  • 告别“AI味”图像!最新开源AI模型FLUX.1-Krea实现真实光影生成
  • [CISCN 2022 初赛]online_crt
  • 【PHP 自动加载机制详解】
  • 四、基于SpringBoot,MVC后端开发笔记
  • Qwen2 RotaryEmbedding 位置编码仅仅是第一层有吗
  • 提问总结2
  • Eden 和 Survivor 比例可以调整么,参数是什么?还用到了哪些参数?
  • SpringCloud(一)微服务基础认识
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • 04 基于sklearn的机械学习-梯度下降(上)
  • Linux内核构建系统中的auto.conf与autoconf.h:原理与作用解析
  • ARM Cortex-M 处理器的应用
  • NDI开发指南
  • LeetCode 热题100:206. 反转链表
  • 深入讲讲异步FIFO
  • 向华为学习——IPD流程体系之IPD术语
  • Java函数式编程之【Stream终止操作】【下】【三】【收集操作collect()与分组分区】【下游收集器】
  • 从零开始:Python编程快速入门指南
  • 实战指南:如何将Git仓库中的特定文件夹及其历史完整迁移到另一个仓库
  • vue+element 实现下拉框共享options
  • 智能客服系统实战:多轮对话与知识库检索完整实现
  • 《n8n基础教学》第三节:模拟一个自动化场景
  • Android使用MediaProjectionManager获取游戏画面和投屏
  • C语言-字符串(定义)、字符串函数(strlen、strcat、strcpy、strcmp、strlwr、strupr)