YOLOv5识别目标的实时坐标打印

这篇具有很好参考价值的文章主要介绍了YOLOv5识别目标的实时坐标打印。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

这个功能看似鸡肋,但对于无人机目标识别与追踪有重要意义,通过目标在摄像头视野的坐标位置,可以推算出无人机相对与目标的位置,从而对无人机进行位置矫正。因此,添加代码打印坐标并不是主要目的,关键在于寻找坐标信息在工程中的位置。

实现

在utils文件夹下的plot.py中plot_one_box函数下添加下面三行代码,输出目标框的五点坐标。

print("左上点的坐标为:(" + str(c1[0]) + "," + str(c1[1]) + "),右上点的坐标为(" + str(c2[0]) + "," + str(c1[1]) + ")")
print("左下点的坐标为:(" + str(c1[0]) + "," + str(c2[1]) + "),右下点的坐标为(" + str(c2[0]) + "," + str(c2[1]) + ")")
print("中心点的坐标为:(" + str((c2[0] - c1[0]) / 2 + c1[0]) + "," + str((c2[1] - c1[1]) / 2 + c1[1]) + ")")
yolo输出坐标,无人机视觉,视觉检测,目标检测,计算机视觉,Powered by 金山文档

注意,坐标原点是捕捉到画面左上角

给出修改后的plot_one_box()函数完整代码:

def plot_one_box(x, img, color=None, label=None, line_thickness=3):
    # Plots one bounding box on image img
    tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1  # line/font thickness
    color = color or [random.randint(0, 255) for _ in range(3)]
    c1, c2 = (int(x[0]), int(x[1])), (int(x[2]), int(x[3]))
    cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA)
    ######################################打印坐标#############################
    print("左上点的坐标为:(" + str(c1[0]) + "," + str(c1[1]) + "),右上点的坐标为(" + str(c2[0]) + "," + str(c1[1]) + ")")
    print("左下点的坐标为:(" + str(c1[0]) + "," + str(c2[1]) + "),右下点的坐标为(" + str(c2[0]) + "," + str(c2[1]) + ")")
    print("中心点的坐标为:(" + str((c2[0] - c1[0]) / 2 + c1[0]) + "," + str((c2[1] - c1[1]) / 2 + c1[1]) + ")")
    ##########################################################################    
    if label:
        tf = max(tl - 1, 1)  # font thickness
        t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0]
        c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3
        cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA)  # filled
        cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA)

效果

  1. 运行图片识别

yolo输出坐标,无人机视觉,视觉检测,目标检测,计算机视觉,Powered by 金山文档
yolo输出坐标,无人机视觉,视觉检测,目标检测,计算机视觉,Powered by 金山文档

可以看到在运行结果中打印出了各个目标的位置信息

  1. 视频识别

yolo输出坐标,无人机视觉,视觉检测,目标检测,计算机视觉,Powered by 金山文档

打印出视频中每一帧图片中目标位置。

  1. 单摄像头实时检测

yolo输出坐标,无人机视觉,视觉检测,目标检测,计算机视觉,Powered by 金山文档

在30FPS的帧率下打印出每一帧的目标位置。

  1. 多摄像头实时检测

yolo输出坐标,无人机视觉,视觉检测,目标检测,计算机视觉,Powered by 金山文档

在多线程识别时仍然能有效打印出坐标。

求学路上,你我共勉(๑•̀ㅂ•́)و✧文章来源地址https://www.toymoban.com/news/detail-517877.html

到了这里,关于YOLOv5识别目标的实时坐标打印的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5目标检测学习(1):yolo系列算法的基础概念

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 关于深度学习目标检测,有许多概念性的东西需要先了解一下。这里主要以基于深度学习的目标检测算法的部署实现来学习。 以yolov5为例: 使用YOLOv5进行车辆和行人的目标检测通常涉及以下步骤: 数据

    2024年04月09日
    浏览(28)
  • 改进YOLO系列:YOLOv5结合转置卷积,实现小目标涨点

    该函数是用来进行转置卷积的,它主要做了这几件事:首先,对输入的feature map进行padding操作,得到新的feature map;然后,随机初始化一定尺寸的卷积核;最后,用随机初始化的一定尺寸的卷积核在新的feature map上进行卷积操作。 补充一下,卷积核确实是随机初始的,但是后

    2023年04月09日
    浏览(16)
  • 使用YOLOv5实现实时目标检测结果保存

           本文将分享保存实时目标检测结果的方法,包括将目标信息逐帧保存到.txt文件中、逐帧输出检测结果图片、以及如何保存所有检测图片(包括视野中无目标的帧)。 目录 0.准备 1.目标信息保存 2.检测图片保存 3.保存所有帧        本文以单摄像头实时目标检测进行演

    2024年02月03日
    浏览(20)
  • 目标检测YOLO实战应用案例100讲-基于深度学习的航拍图像YOLOv5目标检测(论文篇)(续)

    目录 基础理论及相关技术  2.1 深度学习基础理论 

    2024年04月16日
    浏览(22)
  • 使用YOLOv5实现单摄像头实时目标检测

    我将在上一节的基础上,一步一步展示如何实现单摄像头实时目标检测,其中包括我在配置过程中遇到的报错和解决方法。 将\\\'--source\\\'的默认值改为0 这里的\\\'0\\\'是指系统默认的第一个摄像头,通常是电脑自带的摄像头,所以一定要记得把摄像头打开再运行代码(有些电脑会有摄

    2024年02月03日
    浏览(29)
  • 使用YOLOv5实现多摄像头实时目标检测

    这篇博客将在单摄像头目标检测的基础上,实现单网络多线程的实时目标检测。 在detect.py同级目录下新建streams.txt文件,每个视频流源单独成行: 本地摄像头填0 USB摄像头填1,2,3… IP摄像头要根据摄像头类型,按下面格式填写(我将在之后的博客中讲解实现) 0是电脑自带摄像

    2024年02月05日
    浏览(24)
  • 涨点神器:Yolov5 加入ODConv+ConvNeXt提升小目标检测能力,适用yolo各个系列

    论文:Omni-Dimensional Dynamic Convolution 论文地址:Omni-Dimensional Dynamic Convolution | OpenReview ODConv通过并行策略引入一种多维注意力机制以对卷积核空间的四个维度学习更灵活的注意力。上图给出CondConv、DyConv以及ODConv的差异图。延续动态卷积的定义,ODConv可以描述成如下形式:其中

    2024年02月04日
    浏览(19)
  • Realsense D435i Yolov5目标检测实时获得目标三维位置信息

    - Colorimage: - Colorimage and depthimage: 1.一个可以运行YOLOv5的python环境 2.一个realsense相机和pyrealsense2库 在下面两个环境中测试成功 win10 python 3.8 Pytorch 1.10.2+gpu CUDA 11.3 NVIDIA GeForce MX150 ubuntu16.04 python 3.6 Pytorch 1.7.1+cpu 修改模型配置文件,以yolov5s为例。 如果使用自己训练的模型,需要进

    2024年02月04日
    浏览(23)
  • yolov8跟踪模式部署Ros系统上,跟踪鼠标选择的目标,实时发布目标的坐标信息(python实现)

    鼠标不点击目标,不发送任何信息,图像显示的是yolov8检测目标的所有结果 鼠标点击后,跟踪鼠标选择的目标并实时循环发布目标的坐标信息,图像显示的是目标的坐标框 若选择的目标丢失在摄像头内,暂停发送坐标信息,且图像显示的是yolov8检测目标的所有结果,等待鼠

    2024年04月27日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包