吉祥猴378 2024-07-03 14:36 采纳率: 95.8%
浏览 8
已结题

哪位大姥,yolov5知道屏幕适时监控写完,如果想让它检测电脑屏幕,并检测到训练好的模型,应该怎么办

model

    "left":0,
    "top": 0,
    "width": 2560,
    "height": 1440}
cv2.namedWindow('SF_TRT',cv2.WND_PROP_VISIBLE)

    img=scr.grab(monitor)
    img=np.array(img)
    img=cv2.cvtColor(img,cv2.COLOR_BGRA2BGR)
    cv2.imshow("SF_TRT",img)
    k=cv2.waitKey(1)
    if k % 256 == 27
# 截取屏幕
cv2.imshow("SF_TRT")
# 使用模型
model = model.to(device)
# 开始推理

 
  • 写回答

1条回答 默认 最新

  • 阿里嘎多学长 2024-07-03 14:39
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    你好!看起来你正在使用 Python 和 YOLOv5 来进行实时目标检测。我会根据你的问题,一步步帮你解决。

    1. 设置屏幕监控区域: 要监控整个屏幕,你需要使用 scrcpy 或类似的库来捕获屏幕。确保 monitor 变量正确定义,通常它是一个字典,包含屏幕的左上角坐标和屏幕尺寸。你已经提供了一个示例,看起来已经设置好了。

    2. 屏幕截图转换: 你已经有了将屏幕截图转换为模型输入格式的代码。这里是一些关键步骤:

      • 使用 scr.grab(monitor) 来捕获屏幕。
      • 将截图转换为 NumPy 数组。
      • 使用 cv2.cvtColor 将颜色空间从 BGR 转换为 RGB(如果模型需要)。
    3. 加载 YOLOv5 模型: 使用 PyTorch 加载模型到 GPU 或 CPU。首先,确保你已经安装了 PyTorch 和 CUDA(如果使用 GPU)。然后,你可以这样加载模型:

      model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
      

      然后,将模型设置为评估模式并将其移动到适当的设备:

      device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
      model = model.to(device).eval()
      
    4. 应用 YOLOv5 模型进行实时目标检测: 对于捕获的每一帧图像,你需要进行以下操作:

      • 将图像调整为模型输入所需的大小。
      • 将图像转换为模型的输入格式(通常是一个批次的张量)。
      • 使用模型进行推理。
      • 处理模型的输出,绘制检测到的边界框。
    5. 处理按键事件: 你的代码中有一个按键事件的判断,但是语法有误。正确的语法应该是:

      if k == 27:  # 27 是 ESC 键的 ASCII 码
          break  # 退出循环
      

      确保你的循环结构允许使用 break 来退出。

    6. 参考链接

    确保你的环境已经安装了所有必要的库,并且你已经正确配置了你的开发环境。如果你在实现过程中遇到任何问题,随时可以回来提问。祝你编程愉快!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月11日
  • 已采纳回答 7月3日
  • 创建了问题 7月3日

悬赏问题

  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 如何在cst中建立这种螺旋扇叶结构
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥20 想写一个文件管理器,加载全部子文件夹后,要一级一级返回
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?