吉祥猴378 2024-07-10 12:57 采纳率: 95.8%
浏览 3
已结题

哪位大姥,知道yolov5中,如何对模型添加标框,模型坐标如何运算

model.conf = 0.3

def plot_one_box(xyxy, img, label, color, line_thickness)
top, left, bottom, right = xyxy
cv2.rectangle(img, (0, 0), (2560, 1440), color, line_thickness)
cv2.putText(img, label, (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 1)

scr = mss.mss()  # 创建屏幕截图对象
monitor = {  # 定义屏幕的坐标范围,根据你的需要进行调整
    "left": 0,
     "top": 0,
     "width": 2560,
     "height": 1440}

cv2.namedWindow('SF_TRT', cv2.WND_PROP_VISIBLE) # 创建显示窗口入以确保精确绘图

while
img = scr.grab(monitor) # 进行屏幕截图

results=model
plot_one_box(['bbox'], img, ['jiangshi'], (0, 255, 0), 2)
cv2.imshow("SF_TRT", img)  # 显示图像并等待按键关闭窗口或退出循环
k = cv2.waitKey(1
  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-10 12:57
    关注

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

    要给YOLOv5模型添加标注框,你需要在训练阶段为每个预测框设置一个标签(label)。这通常是在网络输出的预测结果上应用一个sigmoid函数,然后将输出转换成二进制值,以便用于标记。

    首先,我们需要创建一个类来表示YOLOv5的预测框及其对应的标签。这个类应该包含以下属性:

    • x1:左上角的横坐标。
    • y1:左上角的纵坐标。
    • x2:右上角的横坐标。
    • y2:右上角的纵坐标。
    • conf:置信度分数。
    • cls:类别标签。

    然后,在训练过程中,你可以通过设置model.conf参数来控制预测框的置信度阈值。例如,如果你想要只保留置信度大于0.3的预测框,你可以这样设置:

    model.conf = 0.3
    

    接下来,你可以使用Python的cv2库来绘制这些标注框。这是一个简单的例子,展示了如何在一张图片上绘制标注框,并且设置了不同的颜色、线宽以及字体大小。

    # 创建屏幕截图对象
    scr = mss.mss()
    
    # 定义屏幕的坐标范围
    monitor = {
        "left": 0,
        "top": 0,
        "width": 2560,
        "height": 1440
    }
    
    img = scr.grab(monitor)
    
    # 创建YOLOv5模型的实例
    model = YOLOv5Model()
    
    # 设置模型的置信度阈值
    model.conf = 0.3
    
    # 创建一个YOLOv5模型的预测器
    predictor = Predictor(model)
    
    # 预测输入数据
    input_data = np.random.rand(1, 3, 640, 640).astype(np.float32)
    
    # 进行预测
    output_data = predictor.predict(input_data)[0]
    
    # 获取预测框
    boxes = output_data['boxes']
    labels = output_data['labels']
    
    # 绘制标注框
    for box, label in zip(boxes, labels):
        x1, y1, x2, y2 = box
        conf, cls = float(box[4]), int(label)
        
        # 根据置信度和类别计算颜色
        color = (0, 255, 0) if conf > model.conf else (0, 0, 255)
        
        # 在图片上绘制标注框
        cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), color, 2)
        cv2.putText(img, f"{cls} {conf:.2f}", (int(x1), int(y1 - 10)), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)
    
    # 显示图像
    cv2.imshow("YOLOv5 Model Prediction", img)
    cv2.waitKey(0)
    

    在这个例子中,我们使用了YOLOv5模型的一个预测框,并为其分配了一个颜色。我们还可以根据需要更改颜色和其他参数,例如字体大小、线宽等。

    注意:上述代码是基于YOLOv5的示例,实际操作时可能需要根据你的具体需求进行修改。此外,YOLOv5是一个深度学习框架,因此可能需要一些额外的步骤来运行它,例如安装相应的库和配置环境。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥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 寻找公式识别开发,自动识别整页文档、图像公式的软件