Python使用 YOLO_NAS_S 模型进行目标检测并保存预测到的主体图片

一、前言:

使用 YOLO_NAS_S 模型进行目标检测,并保存预测到的主体图片

安装包:

pip install super_gradients
pip install omegaconf
pip install hydra-core
pip install boto3
pip install stringcase
pip install typing-extensions
pip install rapidfuzz
pip install Cython
pip install pycocotools
pip install onnx-simplifier

二、步骤:

  1. 安装所需的库和框架。确保已经安装了 OpenCV、PyTorch 和 torchvision
  2. 下载 YOLO_NAS_S 模型的权重文件,并加载模型
  3. 进行图像预处理。对于每张输入图像,需要将其转换为模型可接受的格式,并进行归一化处理
  4. 使用模型进行目标检测,并获取预测结果
  5. 解析预测结果,并保存预测到的主体图片

三、代码:

from PIL import Imageimport torch
from super_gradients.training import modelsdevice = torch.device("cuda:0") if torch.cuda.is_available() else torch.device("cpu")
model = models.get("yolo_nas_s", pretrained_weights="coco").to(device)
out = model.predict(r"D:\Desktop\tp.png", conf=0.6)predictions = out[0]
# 提取预测框对应的主体图像并保存
num = 1
for bbox in predictions.prediction.bboxes_xyxy:x1, y1, x2, y2 = bbox[:4]  # 每个预测框的坐标image = Image.open(r"D:\Desktop\tp.png")cropped_image = image.crop((x1, y1, x2, y2))  # 根据坐标裁剪图像output_path = f"output_{num}.jpg"cropped_image.save(output_path)  # 保存裁剪后的图像num += 1

被检测的图片:

预测主体效果:

 如果在原图的基础上查看代码如下:

from PIL import Imageimport torch
from super_gradients.training import modelsdevice = torch.device("cuda:0") if torch.cuda.is_available() else torch.device("cpu")
model = models.get("yolo_nas_s", pretrained_weights="coco").to(device)
out = model.predict(r"D:\Desktop\tp.png", conf=0.6)
out.save("save_folder_path")

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/87821.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化PLC工程师能否转到c#上位机开发?

成功从自动化PLC工程师转向C#上位机开发的经历可能因人而异,以下是一些分享的思路和建议:扩展编程技能:学习C#语言和相关的开发工具和框架,掌握语言的基础知识和常用的编程技巧。可以通过在线教程、培训课程、书籍等途径进行学习&…

python使用 flask+vue 制作前后端分离图书信息管理系统

目录标题 前言制作前后端分离图书信息管理系统的思路:素材代码效果展示 后端部分接口部分前端部分尾语 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 哈喽兄弟们,今天咱们来用Python实现一个前后端分离的图书信息管理系统。 制作前后端分离图书信…

RabbitMQ的镜像队列

镜像队列 如果 RabbitMQ 集群中只有一个 Broker 节点,那么该节点的失效将导致整体服务的临时性不可用,并且也可能会导致消息的丢失。可以将所有消息都设置为持久化,并且对应队列的durable 属性也设置为 true ,但是这样仍然无法…

《自动驾驶与机器人中的SLAM技术》之GNSS相关基础知识总结

简介 本篇基于对《自动驾驶与机器人中的SLAM技术》中的GNSS定位相关基础知识进行总结用于备忘 知识点整理 GNSS(全球卫星导航系统)定位原理 GNSS 通过测量自身与地球周围各卫星的距离来确定自身的位置 , 而与卫星的距离主要是通过测量时间间隔来确定的 GNSS与GPS的关系 GPS(…

工厂方法模式的概述和使用

目录 一、工厂方法模式概述1. 定义2. 使用动机 二、工厂方法模式结构1. 模式结构2. 时序图 三、工厂方法模式的使用实例四、工厂方法模式的优缺点五、工厂方法模式在Java中应用 原文链接 一、工厂方法模式概述 1. 定义 工厂方法模式(Factory Method Pattern)又称为工厂模式&…

七层、四层和五层网络模型区别和联系

七层、四层和五层网络模型区别和联系 概述OSI网络7层模型(概念型框架)概述图片分析 四层模型概述常用协议OSI与TCP/IP四层的区别 五层模型概述三种网络模型对比 总结 概述 网络模型-七层模型(OSI模型)、五层协议体系结构和TCP/IP…

双基证券:预计未来还会有更多政策来吸引增量资金

双基证券表明,8月27日,活泼资本商场五大方针出台:证券买卖印花税折半征收;阶段性收紧IPO节奏;上市房企再融资不受破发、破净和亏损限制;规范控股股东与实践操控人减持行为;融资保证金最低份额由…

自动化的驱动力,工控机助您实现智能生产!

“智能工厂建设如火如荼,部分成果已经落地,在大规模资金投入的市场催化下,海尔、海信等制造企业通过智能工厂手段推进生产效率成倍增长的新闻层出不穷。在工业4.0时代,“中国制造2025”战略中,智能工厂构建都是其中不可…

java版工程项目管理系统源码+系统管理+系统设置+项目管理+合同管理+二次开发

工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…

Linux 指令心法(二)`cd` 更改当前目录

文章目录 命令的概述和用途命令的用法命令行选项和参数的详细说明命令的示例命令的注意事项或提示 命令的概述和用途 cd 是 “Change Directory” 的缩写。这是一个 shell 内建命令,用于在 Linux 和 Unix 系统中改变当前工作目录。通过使用 cd 命令,用户…

MySQL中的free链表,flush链表,LRU链表

一、free链表 1、概述 free链表是一个双向链表数据结构,这个free链表里,每个节点就是一个空闲的缓存页的描述数据块的地址,也就是说,只要你一个缓存页是空闲的,那么他的描述数据块就会被放入这个free链表中。 刚开始数…

液冷连接器快速接头

液冷连接器快速接头常用介质 水、乙二醇水溶液、纯乙二醇、空调制冷剂和硅油等。 液冷连接器快速接头应用 强振动冷却回路手动连接雷达数据中心电子冷却吊舱 液冷连接器快速接头材质 主体材料不锈钢或经表面处理的铝合金 密封圈选用低温硅橡胶或HNBR 液冷连接器快速接头主…