吉祥猴378 2024-07-27 15:30 采纳率: 95.8%
浏览 2
已结题

有哪位大姥,知道我的yolov5为什么无法运行,无法出现画面和运行边框

scr = mss.mss()  #
monitor = {
    "left": 0,
    "top": 0,
    "width": 2560,
    "height": 1440 }
cv2.namedWindow('SF_TRT', cv2.WND_PROP_VIS
img = scr.grab(monitor)
img = np.array(img)  #
img = cv2.cvtColor(img, cv2.COLOR_BGRA2BG
results = detect(model, img)  
boxes, labels, confidences = results  # 假设resul
for box, label, confidence in zip(boxes, labels, confidences): 
    cv2.rectangle(img, (int(box[0]), int(box[1])), (int(box[2]), int(box[3])), (0, 255, 0), 2)  
cv2.imshow('SF_TRT', img)
  • 写回答

1条回答 默认 最新

  • 专家-司宇[在线] 2024-07-27 15:30
    关注

    引自免费微信小程序:皆我百晓生

    看起来你遇到的问题在于你运行YOLOv5模型的代码中缺失了一些关键部分,或者存在一些可能的错误。我会尝试帮助你解决这些问题。首先,我们需要确保以下几点:

    1. 确保你已经正确安装了所有必要的库,包括mss, cv2, 和YOLOv5的相关库。你可以使用pip来安装这些库。例如,你可以运行 pip install opencv-python 来安装cv2库。对于YOLOv5,你需要从官方源下载并安装。
    2. 确保你的detect函数能够正常工作并返回正确的结果。这个函数应该是YOLOv5模型的核心部分,负责处理图像并返回检测结果。如果这个函数有问题,那么整个程序就无法正常工作。你需要检查这个函数是否能够正确运行并返回预期的结果。
    3. 确保你的代码中有正确的模型加载部分。在你的代码中,model变量似乎是一个已经加载的模型,但你没有展示模型的加载部分。你需要确保你已经正确加载了模型,并且模型已经处于可以使用的状态。
    4. 在你的代码中,cv2.namedWindow('SF_TRT', cv2.WND_PROP_VIS 这一行似乎是不完整的,你可能需要补全这一行。同样地,cv2.cvtColor(img, cv2.COLOR_BGRA2BG 这一行也是不完整和可能有误的,你可能需要将其更正为 cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)

    针对以上问题,我提供一个基本的框架供你参考:

    import cv2
    import numpy as np
    import mss
    from yolov5 import detect  # 确保你已经正确安装了yolov5并导入了detect函数
    
    # 加载模型(你需要根据你的实际情况加载模型)
    model = load_your_model()  # 请替换为你的加载模型代码
    
    scr = mss.mss()  # 创建屏幕截图对象
    monitor = { ... }  # 你的屏幕参数
    img = scr.grab(monitor)  # 获取屏幕截图
    img = np.array(img)  # 将图像转换为numpy数组
    img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)  # 将图像颜色空间从BGRA转换为BGR
    
    results = detect(model, img)  # 运行模型并获取检测结果
    boxes, labels, confidences = results  # 解包检测结果
    
    for box, label, confidence in zip(boxes, labels, confidences): 
        cv2.rectangle(img, (int(box[0]), int(box[1])), (int(box[2]), int(box[3])), (0, 255, 0), 2)  # 在图像上绘制矩形框
    
    cv2.namedWindow('SF_TRT', cv2.WINDOW_NORMAL)  # 创建窗口并设置其属性为正常模式
    cv2.imshow('SF_TRT', img)  # 在窗口中显示图像
    cv2.waitKey(0)  # 等待用户按键操作,如果用户按下任意键则关闭窗口
    

    这个代码是一个基本的框架,你需要根据你的实际情况进行调整和修改。尤其是模型的加载部分和具体的检测结果处理部分,你需要根据你的模型和需求进行相应的修改。如果你遇到其他的问题或者需要进一步的帮助,请随时向我提问。

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

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月27日

悬赏问题

  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件