如何使用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]) + ")")
即可输出目标坐标信息了
附: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