找回密码
 会员注册
查看: 22|回复: 0

YOLOV8识别物体,并返回物体的像素坐标

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-10 15:06:56 | 显示全部楼层 |阅读模式
一、YOLOV8的相关文件修改1.进入路径文件:C:\Users\82370\.conda\envs\Ayolo8\Lib\site-packages\ultralytics\engine\result.py(此处路径为你的anacod安装的虚拟环境Ayolo8位置)condacreate-nAyolo8python=3.11#虚拟环境安装代码condaactivateAyolo8#激活虚拟环境pipinstallultralytics#安装相应的ultralytics2.打开result.py,补充绘制中心点和标注中心点位置代码找到相应的函数:annotator.box_label(),右击——转到定义,进入定义函数的文件plotting.py补充相应的代码补充代码内容如下,可以直接复制过去:#补充代码:#在预测图中绘制一个中心坐标红点#self.im表示圆点绘制的位置,((p1[0]+p2[0])//2,(p1[1]+p2[1])//2)表示坐标位置//表示取整除法#self.lw表示线宽和半径,(0,0,225)表示颜色cv2.circle(self.im,((p1[0]+p2[0])//2,(p1[1]+p2[1])//2),self.lw,(0,0,225),self.lw)#创建中心点坐标变量Center=(((p1[0]+p2[0])/2+p1[0]),((p1[1]+p2[1])/2+p1[1]))#用于在图像上添加文本#str(Center)表示要添加的文本内容,#((p1[0]+p2[0])//2,(p1[1]+p2[1])//2)表示文本起始点坐标#0代表字体类型,self.lw/3表示字体大小,txt.color表示文本颜色#4表示线宽,lineType表示线型cv2.putText(self.im,str(Center),((p1[0]+p2[0])//2,(p1[1]+p2[1])//2),0,self.lw/3,txt_color,thickness=4,lineType=cv2.LINE_AA)##打印坐标信息print("左上点的坐标为:("+str(p1[0])+","+str(p1[1])+"),右上点的坐标为("+str(p2[0])+","+str(p1[1])+")")print("左下点的坐标为:("+str(p1[0])+","+str(p2[1])+"),右下点的坐标为("+str(p2[0])+","+str(p2[1])+")")print("中心点的坐标为:("+str((p2[0]-p1[0])/2+p1[0])+","+str((p2[1]-p1[1])/2+p1[1])+")")二、获取像素坐标示例运行test.py文件#导入openCV库,实现相应的图片读写importcv2#导入openCV库的代码#下载图片importnumpyasnp#使用np作为numpy库的别名importurllib.request#通过导入request模块,我们可以使用它提供的功能来发送HTTP请求、获取网页内容等。fromultralyticsimportYOLO#将YOLOv8导入到该py文件中#加载官方或自定义模型model=YOLO(r"E:\Deeplearning\YOLOv8\yolov8n.pt")#加载一个官方的检测模型color_3=cv2.imread('3.jpeg')source=[color_3]results=model.predict(source,save=True,show_conf=False)color_3=results[0].plot()#在图像上添加色彩帧(追踪结果)cv2.imshow('my_img_name_3',color_3)参考博文:(博文写的非常详细,参考价值高👍)YOLOv8、YOLOv8_OBB输出detect检测到的目标坐标信息_yolov8输出预测框的坐标-CSDN博客
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-3 01:57 , Processed in 0.916523 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表