当大家看到文章时候肯定会好奇,为什么yolo都到v11了,常用也是v8为什么楼主会选择v5呢?
其实不是楼主不想用,而是因为海康python的解释器版本是3.7,而这个版本只支持v5以及v5以下的
首先安装yolov5库(这个自己研究)
在python脚本头部新增导入库
from yolov5 import YOLOv5
载入模型
model=YOLOv5("D:/Program Files/yoloHIK/weight/best.pt",device="cpu")#这里的best.pt是我自己用yolov5提前训练好的模型,没的也可以用官网的#几个如yolov5m.pt,yolov5s.pt等
获取当前彩色图片img(cv2可处理格式,上一篇文章有教转换方法)
face=model.predict(img)图片预测
以下面图片为例子
预测完后即可获取匹配到的相关参数
平台输出结果如下
再将结果绘至于图片上(以找到人脸为例子)
img1=img.astype(np.uint8)#需要转换,不然用cv绘制会报错(如果要绘制中文需要转pillow画好再转cv)
for *xyxy,conf,cls in face.xyxy[0]:
label=f'{model.model.names[int(cls)]} {conf:.2f}'
PrintMsg(label)
if(model.model.names[int(cls)]=='person'):
cv.rectangle(img1,(int(xyxy[0]),int(xyxy[1])),(int(xyxy[2]),int(xyxy[3])),(0,255,0),2)
cv.putText(img1,label,(int(xyxy[0]),int(xyxy[1])-10),cv.FONT_HERSHEY_SIMPLEX,0.5,(0,255,0),2)
最后将img1转成数据流在vm上显示输出即可
下面是我用软件测试的结果(用的自己训练的模型,然后我是转piilow再转回来的效果)
最后总结下不足的地方,就是载入模型这句,如果不是静默模式,这句话第一次运行时候会导致软件打不开,因此如果要正常使用需要在静默模式下先打开脚本点确定,软件才能运行,希望开发人员能早日修复这个bug