YOLOv8 自定义识别结果的识别框,检测结果识别框定制显示。

YOLOv8 识别框自定义

YOLOv8作为最新的目标检测模型,以其高速和高精度的特点在工业界和学术界受到广泛关注。在实际应用中,我们经常需要对检测到的目标绘制自定义的识别框,以满足特定的需求。本文将详细介绍如何进行自定义YOLOv8进行目标检测返回的图片中的识别框。本文将透过进行自定义绘制果实成熟识别框的例子进行展示。

环境准备

在开始之前,请确保你已经安装了Python环境以及以下库:

  • ultralytics
  • opencv-python

你可以通过以下命令安装所需的库:

pip install ultralytics opencv-python

检测与自定义框绘制

使用训练好的模型进行检测(我直接的进行使用我已经训练好的模型进行演示):

 		image_path="图片路径"
    	# 2.预测
        model = YOLO(ORANGE_MODEL_PATH)
        # 设置最大抑制 (NMS) 的交叉重叠 (IoU) 为0.4,启用与类别无关的非最大抑制 (NMS):避免类别重合识别标记
        predict_result = model.predict(image_path, iou=0.5, agnostic_nms=True)
        # 获取到列表的结果对象
        result = predict_result[0]

        # 3.获取到成熟果实的识别框
        mature_boxes = []
        ripeNum = 0  # 成熟的果实
        count = 0
        for box in result.boxes:
            cls = int(box.cls[0])  # 获取类别ID
            conf = float(box.conf[0])  # 获取置信度
            xyxy = box.xyxy[0].tolist()  # 获取边界框坐标
            # 如果边界框属于成熟果实类别
            count += 1
            if cls == 0:
                # 进行存储到列表中
                ripeNum += 1
                mature_boxes.append((xyxy, conf))

        # 4.将筛选后的识别框进行绘画到图片中
        # 将筛选后的边界框绘制在图像上
        annotated_image = result.orig_img.copy()  # 复制原始图像

        # 绘制图像
        for xyxy, conf in mature_boxes:
            cv2.rectangle(annotated_image, (int(xyxy[0]), int(xyxy[1])), (int(xyxy[2]), int(xyxy[3])), (0, 255, 0), 2)
            cv2.putText(annotated_image, f'', (int(xyxy[0]), int(xyxy[1]) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5,
                        (0, 255, 0), 2)

        # 5.保存最后结果图片
        save_dir = r"orangeRipe"
        os.makedirs(save_dir, exist_ok=True)  # 创建目录,如果它不存在
        # 保存的文件路径
        save_path = os.path.join(save_dir, "保存的文件文字.jpg")
        cv2.imwrite(save_path, annotated_image)

结果对比

直接的进行使用yolov8进行目标检测的结果

在这里插入图片描述

进行自定义以后的结果展示

在这里插入图片描述

结语

通过本文的教程,你应该能够掌握如何使用YOLOv8进行目标检测,并使用OpenCV绘制自定义的识别框。这为进一步的图像处理和分析提供了基础。更多关于YOLOv8的详细信息和高级特性,可以参考Ultralytics的官方文档和GitHub仓库 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值