yolov8使用opencv 调用摄像头,实时目标检测,左上角显示帧率

本文介绍了如何使用Python的YOLOv8库进行实时目标检测,并在摄像头视频流中计算并显示每秒帧数(FPS)。代码展示了从摄像头读取帧、目标检测、结果标注以及显示FPS的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import cv2
from ultralytics import YOLO
from cv2 import getTickCount, getTickFrequency
# 加载 YOLOv8 模型
model = YOLO("weights/yolov8s.pt")

# 获取摄像头内容,参数 0 表示使用默认的摄像头
cap = cv2.VideoCapture(0)

while cap.isOpened():
    loop_start = getTickCount()
    success, frame = cap.read()  # 读取摄像头的一帧图像

    if success:
        results = model.predict(source=frame) # 对当前帧进行目标检测并显示结果
    annotated_frame = results[0].plot()

    # 中间放自己的显示程序
    loop_time = getTickCount() - loop_start
    total_time = loop_time / (getTickFrequency())
    FPS = int(1 / total_time)
    # 在图像左上角添加FPS文本
    fps_text = f"FPS: {FPS:.2f}"
    font = cv2.FONT_HERSHEY_SIMPLEX
    font_scale = 1
    font_thickness = 2
    text_color = (0, 0, 255)  # 红色
    text_position = (10, 30)  # 左上角位置

    cv2.putText(annotated_frame, fps_text, text_position, font, font_scale, text_color, font_thickness)
    cv2.imshow('img', annotated_frame)
    # 通过按下 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()  # 释放摄像头资源
cv2.destroyAllWindows()  # 关闭OpenCV窗口


Python手势识别小游戏是一个简易的项目,可以使用Python和OpenCV库来实现。这个小游戏的功能很简单,只需要识别手势1~5即可。根据需求,我们可以使用手势来控制飞机的发射子弹、向左移动和向右移动等操作。如果需要更多的手势控制,可以通过计算手势轮廓的重心位置变化来实现。\[1\] 在实现手势识别的过程中,可以使用一些计算方法来计算左上角的FPS(帧率)。可以定义一个CvFpsCalc类,通过获取当前的运行速度来计算FPS。这个类可以根据当前的时间戳和之前的时间戳之差来计算帧率。\[2\] 对于手势识别的具体实现,可以使用Mediapipe库来调用,并获取每个关节点的位置坐标。通过进一步编写判断逻辑,可以确定具体的手势动作是什么。这个项目可以作为一个非常好的基础项目,可以在其基础上进行扩展,包装成大作业或毕设。\[3\] 希望这些信息对你有帮助,祝你在实现Python手势识别小游戏的过程中取得成功! #### 引用[.reference_title] - *1* [体感游戏 | 手势识别玩飞机大战游戏(二) Python+OpenCV实现简易手势识别功能](https://blog.csdn.net/stq054188/article/details/112387682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [基于Mediapipe的Python手势识别项目(附项目源码)](https://blog.csdn.net/SOBE_rrr/article/details/129343766)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值