YOLO v5获得图像中点坐标
时间: 2025-03-10 16:01:21 浏览: 43
### 使用YOLOv5获取图像中目标点坐标
为了使用YOLOv5获取图像中的目标点坐标,可以基于已有的YOLOv5框架进行扩展。具体来说,在完成目标检测之后,可以通过处理模型输出来提取每个检测到的对象的位置信息。
#### 准备工作
确保已经安装了必要的依赖库并下载了预训练好的YOLOv5权重文件。如果是在`yolov5-D435i`项目上开发,则还需要配置好Realsense D435i摄像头驱动程序以及OpenCV等工具[^1]。
#### 加载模型与预测
加载YOLOv5模型并对输入图片执行推理操作:
```python
import torch
from pathlib import Path
import cv2
# 初始化设备 (GPU or CPU)
device = 'cuda' if torch.cuda.is_available() else 'cpu'
# 载入YOLOv5s模型
model = torch.hub.load('ultralytics/yolov5', 'custom', path='path/to/best.pt') # 替换为自己的最佳模型路径
model.conf = 0.7 # 设置置信度阈值
model.iou = 0.45 # NMS IOU threshold
model.to(device)
def detect_objects(image_path):
img = cv2.imread(str(image_path))
results = model(img)
return results.pandas().xyxy[0]
image_file = Path("data/images/bus.jpg") # 测试图片位置
detections_df = detect_objects(image_file)
print(detections_df[['xmin', 'ymin', 'xmax', 'ymax']])
```
上述代码片段展示了如何利用PyTorch Hub加载自定义训练过的YOLOv5模型,并通过调用该模型对单张图片实施对象检测。最后打印出了所有被发现的目标边界框的左上角(xmin,ymin)和右下角(xmax, ymax)坐标。
对于RGB-D数据集而言,除了普通的二维矩形框外,还可以进一步计算出这些区域内的平均深度值或者质心处的世界坐标系下的三维坐标。
#### 数据标注
当准备用于训练的数据集时,推荐使用LabelImg这样的图形界面应用程序来进行手动标注。这一步骤非常重要因为它决定了后续学习效果的好坏。每幅图像都应该配有相应的`.txt`标签文件,其中包含了各个类别的名称及其对应的bbox参数[^2]。
阅读全文
相关推荐

















