yolov5 plot_images
时间: 2023-11-09 22:06:58 浏览: 45
`yolov5` 作者提供了一个方便的可视化工具 `plot.py` ,可以用于可视化 YOLOv5 模型预测的结果。该工具可以将模型预测出来的 bounding box 绘制在图像上,并且标注出每个 bounding box 的类别和置信度。
下面是使用 `plot.py` 可视化图片的步骤:
1. 安装依赖库 `matplotlib` 和 `opencv-python`:
```bash
pip install matplotlib opencv-python
```
2. 在 `yolov5` 的根目录下创建一个 `images` 文件夹,将需要可视化的图片放入该文件夹中。
3. 执行以下命令:
```bash
python3 plot.py --weights path/to/weights.pt --img-size 640 --conf 0.25 --source images/
```
参数说明:
- `--weights`:指定 YOLOv5 模型的权重文件路径。
- `--img-size`:指定输入图片的大小。
- `--conf`:指定置信度阈值。
- `--source`:指定需要可视化的图片所在的文件夹路径。
执行完该命令后,`plot.py` 会将每张图片的可视化结果保存在 `runs/detect/exp/` 文件夹中。
**注意:**如果你使用的是 `yolov5` 的旧版本,可能需要将 `--source` 参数改为 `--img`。
相关问题
import argparse import json import os import sys from pathlib import Path from threading import Thread import numpy as np import torch from tqdm import tqdm FILE = Path(__file__).resolve() ROOT = FILE.parents[0] # YOLOv5 root directory if str(ROOT) not in sys.path: sys.path.append(str(ROOT)) # add ROOT to PATH ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative from models.common import DetectMultiBackend from utils.callbacks import Callbacks from utils.datasets import create_dataloader from utils.general import (LOGGER, NCOLS, box_iou, check_dataset, check_img_size, check_requirements, check_yaml, coco80_to_coco91_class, colorstr, increment_path, non_max_suppression, print_args, scale_coords, xywh2xyxy, xyxy2xywh) from utils.metrics import ConfusionMatrix, ap_per_class from utils.plots import output_to_target, plot_images, plot_val_study from utils.torch_utils import select_device, time_sync
这段代码主要是导入了一些Python库和自定义的模块,以及定义了一些全局变量,主要功能包括:
- argparse: 用于解析命令行参数。
- json: 用于解析JSON格式的数据。
- os: 提供了一些与操作系统交互的函数。
- sys: 提供了一些与Python解释器交互的函数。
- pathlib: 提供了一种面向对象的方式来操作文件路径。
- threading: 用于创建多线程程序。
- numpy: 用于支持大型、多维数组和矩阵运算。
- torch: 用于实现深度学习模型。
- tqdm: 用于显示进度条。
除此之外,还导入了自定义的模块,包括:
- DetectMultiBackend: 实现了多种目标检测算法的后端。
- Callbacks: 实现了一些回调函数,用于在训练过程中进行一些操作。
- create_dataloader: 用于创建数据加载器。
- check_dataset: 用于检查数据集。
- check_img_size: 用于检查图像大小。
- check_requirements: 用于检查是否满足运行要求。
- check_yaml: 用于检查YAML文件。
- coco80_to_coco91_class: 用于将COCO80类别映射到COCO91类别。
- colorstr: 用于生成颜色字符串。
- increment_path: 用于生成不重复的路径。
- non_max_suppression: 用于实现非极大值抑制。
- print_args: 用于打印命令行参数。
- scale_coords: 用于将坐标缩放。
- xywh2xyxy: 用于将中心坐标和宽高转换为左上角和右下角坐标。
- xyxy2xywh: 用于将左上角和右下角坐标转换为中心坐标和宽高。
其中,FILE定义了当前文件的路径,ROOT定义了YOLOv5的根目录,如果ROOT不在sys.path中,则将其添加到PATH中,并将其转换为相对路径。
yolov5目标检测标签中文乱码
yolov5目标检测标签中出现中文乱码的原因是cv2.putText()函数只能显示英文字符,无法正确显示中文字符。为了解决这个问题,可以对yolov5文件夹中的utils/utils.py中的plot_images函数进行修改。具体修改方法是将语句调用plot_one_box(box, mosaic, label=label, color=color, line_thickness=tl)修改为if gt or conf[j] > 0.3: # 0.3 conf thresh label = '%s' % cls if gt else '%s %.1f' % (cls, conf[j]) mosaic = plot_one_box(box, mosaic, label=label, color=color)。这样的修改可以实现对中文字符的正确显示。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)