如何使用yolov5输出检测到的目标坐标信息

作者:一位安分的码农 时间:2021-07-12 17:25:14 

找到detect.py,在大概113行,找到plot_one_box

                # Write results
                for *xyxy, conf, cls in reversed(det):
                    if save_txt:  # Write to file
                        xywh = (xyxy2xywh(torch.tensor(xyxy).view(1, 4)) / gn).view(-1).tolist()  # normalized xywh
                        with open(txt_path + '.txt', 'a') as f:
                            f.write(('%g ' * 5 + '\n') % (cls, *xywh))  # label format

                    if save_img or view_img:  # Add bbox to image
                        label = '%s %.2f' % (names[int(cls)], conf)
                        plot_one_box(xyxy, im0, label=label, color=colors[int(cls)], line_thickness=3)

ctr+鼠标点击,进入general.py,并自动定位到plot_one_box函数,修改函数为

def plot_one_box(x, img, color=None, label=None, line_thickness=None):
   # Plots one bounding box on image img
   tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1  # line/font thickness
   color = color or [random.randint(0, 255) for _ in range(3)]
   c1, c2 = (int(x[0]), int(x[1])), (int(x[2]), int(x[3]))
   cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA)
   print("左上点的坐标为:(" + str(c1[0]) + "," + str(c1[1]) + "),右下点的坐标为(" + str(c2[0]) + "," + str(c2[1]) + ")")

即可输出目标坐标信息了

如何使用yolov5输出检测到的目标坐标信息

附:python yolov5检测模型返回坐标的方法实例代码

python yolov5检测模型返回坐标的方法 直接搜索以下代码替换下 

if save_img or view_img:  # Add bbox to image
                       label = f'{names[int(cls)]} {conf:.2f}'
                       c1, c2 = (int(xyxy[0]), int(xyxy[1])), (int(xyxy[2]), int(xyxy[3]))
                       print("左上点的坐标为:(" + str(c1[0]) + "," + str(c1[1]) + "),右下点的坐标为(" + str(c2[0]) + "," + str(c2[1]) + ")")
                       return [c1,c2]
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--weights', nargs='+', type=str, default='yolov5s.pt', help='model.pt path(s)')
parser.add_argument('--source', type=str, default='data/images', help='source') # file/folder, 0 for webcam
parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
parser.add_argument('--view-img', action='store_true', help='display results')
parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')
parser.add_argument('--nosave', action='store_true', help='do not save images/videos')
parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --class 0, or --class 0 2 3')
parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
parser.add_argument('--augment', action='store_true', help='augmented inference')
parser.add_argument('--update', action='store_true', help='update all models')
parser.add_argument('--project', default='runs/detect', help='save results to project/name')
parser.add_argument('--name', default='exp', help='save results to project/name')
parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
opt = parser.parse_args()

check_requirements(exclude=('pycocotools', 'thop'))

opt.source='data/images/1/'
result=detect()
print('最终检测结果:',result);

来源:https://blog.csdn.net/weixin_44612221/article/details/115384742

标签:yolov5,目标,坐标
0
投稿

猜你喜欢

  • 学习Django知识点分享

    2021-07-18 03:42:00
  • SQL Server双服务器架设并数据自动同步教程

    2023-07-03 02:59:53
  • golang flag简单用法

    2024-05-08 10:23:48
  • Python中文分词库jieba,pkusegwg性能准确度比较

    2021-12-17 13:05:41
  • 如何使用Idea进行合并代码分支

    2022-10-21 18:29:58
  • Vuex和前端缓存的整合策略详解

    2024-05-09 15:17:14
  • Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

    2021-12-04 12:15:05
  • PyQt5 显示超清高分辨率图片的方法

    2021-07-11 04:16:09
  • 如何使数据库的ID字段自动加1?

    2010-06-03 10:47:00
  • Matplotlib控制坐标轴刻度间距与标签实例代码

    2022-01-26 03:47:39
  • Python读取hdf文件并转化为tiff格式输出

    2021-02-22 18:59:56
  • 5个很好的Python面试题问题答案及分析

    2023-05-12 18:45:23
  • Python基于opencv实现的人脸识别(适合初学者)

    2021-10-13 19:39:29
  • python 装饰器详解与应用范例

    2022-03-18 01:06:55
  • JavaScript基本语法_动力节点Java学院整理

    2024-04-18 09:49:41
  • 推荐系统MostPopular算法的Python实现方式

    2022-04-21 14:44:24
  • 你知道mysql哪些查询情况不走索引吗

    2024-01-15 06:32:00
  • JS组件Form表单验证神器BootstrapValidator

    2024-05-10 14:08:59
  • 解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题

    2023-09-27 10:32:31
  • 使用python获取csv文本的某行或某列数据的实例

    2021-06-13 14:11:20
  • asp之家 网络编程 m.aspxhome.com