我感觉这个地方有问题,但不知道怎么改?因为前面弄了随机选取的代码,但一直输出的都是文件夹里的全部图片。所以该怎么修改啊
yolov5中的detect.py文件如何进行随机选取图片?输出选取的图片测试结果
我感觉这个地方有问题,但不知道怎么改?因为前面弄了随机选取的代码,但一直输出的都是文件夹里的全部图片。所以该怎么修改啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-06-02 23:18关注
晚上好🌙🌙🌙
本答案参考ChatGPT-3.5要让YOLOv5的
detect.py
文件随机选取图片并输出测试结果,你需要修改parse_opt
函数中的--source
参数。这里我将提供一个修改后的示例,并解释如何实现随机选取图片。首先,你需要创建一个包含所有图片路径的列表,然后在运行检测之前从中随机选择一个图片。以下是修改后的
parse_opt
函数:import os import random def parse_opt(): parser = argparse.ArgumentParser() parser.add_argument("--weights", nargs="+", type=str, default=ROOT + "runs/train/exp/", help="model.pt path(s)") parser.add_argument("--source", type=str, default=choose_random_image(ROOT + "mydate/images/val1"), help="file/folder, video, or webcam (default: none)") parser.add_argument("--data", type=str, default=ROOT + "data/mydate1.yaml", help="data.yaml path (optional)") # ... 其他参数 ... def choose_random_image(folder_path): image_list = [os.path.join(folder_path, img) for img in os.listdir(folder_path) if img.endswith(('.jpg', '.jpeg', '.png', '.gif'))] # 添加你所需的图片后缀 if not image_list: raise ValueError("No images found in the specified folder.") random_image = random.choice(image_list) return random_image # 在主程序中调用 opt = parser.parse_args()
这个修改后的
parse_opt
函数会在--source
选项中使用choose_random_image
函数来随机选择一个图片路径。注意,image_list
列表只包含以.jpg
,.jpeg
,.png
, 或.gif
结尾的文件。你可以根据你的图片格式进行调整。这样,每次运行
detect.py
时,它都会随机选取一个图片进行测试。如果你的mydate/images/val1
目录下有多个图片,random.choice
会确保每次选择不同的图片。解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 vue2+codemirror 运行后页面光标太大了
- ¥15 pdfjs库如何在前端实现打印、旋转等功能
- ¥15 combobox数据绑定问题
- ¥15 maven打包时,为什么有的依赖打不进去包
- ¥15 求复现机器学习文章一篇
- ¥15 爬虫抓取数据|解析视频文本内容(相关搜索:自动化)
- ¥15 combobox绑定值改变的问题
- ¥15 from seleniumwire import webdriver 在抓取http://链接的时候会自动转https://这个怎么解决
- ¥15 hive直连数据库模式插入mysql表数据失败(相关搜索:数据库)
- ¥30 不会,学习,有偿解答