首页 > 其他分享 >yolov5 推理,获取 对象坐标 等数据

yolov5 推理,获取 对象坐标 等数据

时间:2023-08-22 16:36:52浏览次数:41  
标签:yolov5 img cv2 im 坐标 print path 推理

demo

import torch
import cv2
from PIL import Image


# pt_path = r'E:\Code\Python\YoLov5\yolov5\yolov5s.pt'
pt_path = r'E:\Code\Python\yolov5py38\yolov5\best.pt'
# Model
model = torch.hub.load(r"E:\Code\Python\YoLov5\yolov5",'custom', path=pt_path, source='local')  # or yolov5n - yolov5x6, custom

# Images
img_path = r"E:\Code\Python\yolov5py38\dataset\dog_and_cat\images\val\119.jpg"  # or file, Path, PIL, OpenCV, numpy, list
img_obj = Image.open(img_path)



# print(type(img_obj))



# Inference
results = model(img_obj)

# Results
# results.print()

s = results.crop(save=False)  # or .show(), .save(), .crop(), .pandas(), etc.
for item in s:
    # print(item)
    im = item['im']
    a = cv2.imencode(".jpg", im)
    success, enc_img = cv2.imencode(".jpg", im)
    print(success, enc_img)
    print(type(success), type(enc_img))
    img_data = enc_img.tobytes()
    with open('output1.jpg', 'wb') as f:
        f.write(img_data)


car_img = s[0]['im']
cv2.imshow('win', car_img)


# cv2.imwrite('output.jpg', car_img)  # 保存图片
cv2.waitKey(0)
cv2.destroyAllWindows()

输出的s解释

  1. box: 这是一个表示检测到的目标边界框的信息。通常以坐标形式给出,表示目标在图像中的位置和大小。在你的例子中,这个目标边界框的左上角坐标为 (160.25931, 149.84097),右下角坐标为 (274.39548, 257.11179),这定义了一个矩形框出了检测到的目标。
  2. conf: 这是置信度或置信分数,表示模型对于这个检测结果的自信程度。在你的例子中,置信度为 0.89372,表示模型相当自信这个检测结果是正确的。
  3. cls: 这表示类别,通常是一个数字标识。在你的例子中,类别为 1.0。
  4. label: 这是目标的标签或类别的人类可读描述。在你的例子中,标签为 'cat 0.89',表示检测到的目标是猫,置信度为 0.89。
  5. im: 这个部分是一个图像数组,代表了检测结果所基于的原始图像。通常情况下,目标检测的结果会基于输入图像来定位和标识目标。

这段信息描述了模型在图像中检测到一只置信度为 0.89 的猫,并给出了该猫的边界框坐标以及其他相关信息

标签:yolov5,img,cv2,im,坐标,print,path,推理
From: https://www.cnblogs.com/code3/p/17648876.html

相关文章

  • paddleocr在华为升腾920上编译C++ cpu版的推理
    最好用这个提供的docker环境华为昇腾NPU-PaddlePaddle深度学习平台编译推理库飞腾/鲲鹏下从源码编译—Paddle-Inferencedocumentation(paddlepaddle.org.cn)编译成功后还需要报错 Noruletomaketarget'/root/workspace/Paddle/build/paddle_inference_install_dir......
  • PCoA(主坐标分析)的生物学文献中的描述
    "我们进行了PCoA以可视化不同环境样本中微生物群落的β多样性。PCoA是一种多元统计方法,它将高维的微生物群落数据转化为二维或三维的坐标,以便我们能够更容易地观察样本之间的差异和相似性。通过PCoA,我们能够发现样本在坐标空间中的聚类和分散情况,从而更好地理解不同环境条件下微......
  • yolov5训练模型
    一个0到1的案例后续会继续补充环境python3.8.10Firstgithub下载项目:https://github.com/ultralytics/yolov5/tree/mastercdyolov5,pipinstall-rrequirements.txt-i清华源pipinstalllambelimg(打标签用的)Second本地创建文件夹(yolov5同目录),如下图(仅供参考)......
  • fabric.js 判断点击坐标是否在某个子元素内
     通过 containsPoint方法坐标是否在某个元素内constrect=newfabric.Rect({width:100,height:100,fill:'red',})canvas.add(rect);canvas.on('mousee:down',(event)=>{letpoint=newfabric.Point(event.e.offsetX,eve......
  • Python matplotlib.axes对象常用属性(绘图方式、坐标轴、刻度等)
    目录一、绘图方式1.1基本绘图方式1.2跨度、频谱、填充、2D数组的绘图方式Axes类可以设置图片(或子图)中相关属性:绘图数据、坐标轴刻度/标签、标题、图例等。它是Python操作绘图的主要接口。Matplotlib定义了一个axes类(轴域类),在一个给定的画布(figure)中可以包含多个axes对象,但是同......
  • Oracle数据库经纬度坐标查询优化与结果错误原因分析、SQL中WKT超长文本字符串处理
    目录一、Oracle几何空间数据对象和其他数据库的差异二、Oracle查询一个经纬度坐标是否在边界内部2.1查询条件2.2查询结果错误,似乎是仅做了MBR匹配2.3错误原因2.4解决办法三、SQL中WKT超长文本在Oracle中如何编写3.1Oracle中执行含超长文本的SQL报错3.2使用CLOB无限拼接得到......
  • 【pytorch】目标检测:一文搞懂如何利用kaggle训练yolov5模型
    笔者的运行环境:python3.8+pytorch2.0.1+pycharm+kaggle。yolov5对python和pytorch版本是有要求的,python>=3.8,pytorch>=1.6。yolov5共有5种类型n\s\l\m\x,参数量依次递增,对训练设备的要求也是递增。本文以yolov5_6s为切入点,探究yolov5如何在实战种运用。1.数据集的准备roboflow......
  • 相机成像的四个坐标系
    相机成像的四个坐标系WriteByChamprinOn2022-11-3GUETEvolutionTeamVisualGroup三维重建第三课:相机标定原理步骤(一)坐标系变换三维重建第四课:相机标定原理步骤(二)世界坐标系到相机坐标系与畸变相机标定——四个坐标系MATLAB有关相机模型《LearningOpenCV3》ch18......
  • 【pytorch】目标检测:新手也能彻底搞懂的YOLOv5详解
    YOLOv5是GlennJocher等人研发,它是Ultralytics公司的开源项目。YOLOv5根据参数量分为了n、s、m、l、x五种类型,其参数量依次上升,当然了其效果也是越来越好。从2020年6月发布至2022年11月已经更新了7个大版本,在v7版本中还添加了语义分割的功能。本文以YOLOv5_v6为媒介,对YOLOv5进行学......
  • Matplotlib设置坐标轴的刻度
    设置坐标轴的刻度以设置x轴的刻度为例xticks(ticks,[labels],**kwargs)参数说明:ticks:数组类型,用于设置X轴刻度间隔[labels]:数组类型,用于设置每个间隔的显示标签**kwargs:用于设置标签字体倾斜度rotation和颜色color等外观属性。不设置刻度时的样式x=np.arange(1,13)y=np.......