news 2026/8/28 7:58:44

YOLO26 接入实时视频 - GPU 加速2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO26 接入实时视频 - GPU 加速2

经过优化后,稳定在60ms,不卡顿

import cv2 from ultralytics import solutions import torch # ✅ 必须在文件顶部 新增导入torch!!! import gc # ✅ 必须在文件顶部 新增导入gc!!! def open_iphone_camera_with_cv(): """ 主函数:找到并打开iPhone摄像头 """ print("正在检测iPhone摄像头...\n") # for i in range(5): cap = cv2.VideoCapture(0) if cap.isOpened(): print("打开默认摄像头 (索引0)") # 强制开启硬件加速解码(M1 Metal) cap.set(cv2.CAP_PROP_HW_ACCELERATION, cv2.VIDEO_ACCELERATION_ANY) # 开启帧缓冲区优化,降低延迟 cap.set(cv2.CAP_PROP_BUFFERSIZE, 1) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) # video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) counter = solutions.ObjectCounter( show=False, # display the output region=region_points, # pass region points model="yolo26x.pt", # model="yolo26n-obb.pt" for object counting with OBB model. device="mps", half=False, conf=0.3, # 置信度调高一点,减少无效检测,加速推理 iou=0.45, # NMS IOU阈值 max_det=50, # 每张图像的最大检测数量 verbose=True, # 是否打印详细信息 # save_results=True, # 是否保存结果到文件 # classes=[0, 2], # count specific classes, e.g., person and car with the COCO pretrained model. tracker="botsort.yaml", # choose trackers, e.g., "bytetrack.yaml" ) while True: ret, frame = cap.read() if ret: frame_corrected = cv2.flip(frame, 1) results = counter(frame_corrected) # 显存+内存清理,根治耗时上涨 try: torch.mps.empty_cache() except Exception: pass gc.collect() cv2.imshow(f'Camera M2 Pro | 推理≈13ms 跟踪≈9ms | 按q退出', results.plot_im) if cv2.waitKey(1) & 0xFF == ord('q'): break cv2.destroyAllWindows() cap.release() print("摄像头已关闭") else: print("无法打开摄像头,请检查连接。") # 运行 if __name__ == "__main__": # 方法1:自动检测并打开iPhone摄像头 open_iphone_camera_with_cv()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 3:54:36

Docker容器化实战:从入门到生产环境部署

前言 两年前,我们公司的部署流程是这样的:开发在本地调试好代码,打包发给运维,运维在服务器上配置环境,然后发现"在我机器上能跑"。 引入Docker后,一切都变了。这篇文章分享我们的容器化实践经…

作者头像 李华
网站建设 2026/8/24 16:23:39

Python+django的协同过滤算法的 美食菜谱推荐分享平台

目录协同过滤算法在美食菜谱推荐平台的应用系统功能与优化策略开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!协同过滤算法在美食菜谱推荐平台的应用 基于Python和Django框架的美食菜谱推荐…

作者头像 李华
网站建设 2026/8/22 19:45:20

临时文件自动化管理:高效安全新方案

临时文件自动化管理方案技术文章大纲背景与需求分析临时文件的定义及常见应用场景临时文件管理不善导致的问题(存储占用、安全风险、性能影响)自动化管理的核心需求(生命周期控制、资源优化、安全性)技术实现方案文件生命周期自动…

作者头像 李华
网站建设 2026/8/22 13:54:28

Meta 收购 Manus:AI 智能体由对话转向执行的转折点

在 2025 年的最后一天,Meta 公司通过官方渠道确认了对 AI 初创企业 Manus 的收购计划。根据相关分析机构披露的数据,这笔交易涉及金额预计超过 20 亿美元。这一变动不仅是 Meta 在人工智能领域扩张的延续,也反映出全球科技巨头正在将研发重点…

作者头像 李华
网站建设 2026/8/25 13:57:40

Python+django的土壤监测信息采集系统

目录土壤监测信息采集系统摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!土壤监测信息采集系统摘要 该系统基于PythonDjango框架开发,旨在实现土壤环境数据的智能化采集、存…

作者头像 李华
网站建设 2026/8/24 11:34:03

STM32单片机16*16汉字点阵广告牌75(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

STM32单片机16*16汉字点阵广告牌75(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 产品功能描述: 本系统由STM32F103C8T6单片机核心板、16*16点阵屏显示模块、按键及电源组成。 1、通过按键可以切换点阵屏显示内容…

作者头像 李华