加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
myframe.py 1.41 KB
一键复制 编辑 原始数据 按行查看 历史
chen 提交于 2021-11-17 08:57 . 测试win上传代码
# 检测的接口函数
import cv2
import mydetect #yolo检测
import myfatigue #疲劳检测
import time
cap = cv2.VideoCapture(0)
def frametest(frame):
# frame为帧输入
# 定义返回变量
ret = []
labellist = []
# 计时开始,用于计算fps
tstart = time.time()
# Dlib疲劳检测
# eye 眼睛开合程度
# mouth 嘴巴开合程度
frame,eye,mouth = myfatigue.detfatigue(frame)
# yolo检测
action = mydetect.predict(frame)
for label, prob, xyxy in action:
# 在labellist加入当前label
labellist.append(label)
# 将标签和置信度何在一起
text = label + str(prob)
# 画出识别框
left = int(xyxy[0])
top = int(xyxy[1])
right = int(xyxy[2])
bottom = int(xyxy[3])
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 1)
# 在框的左上角画出标签和置信度
cv2.putText(frame,text,(left, top-5),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 1)
# 将信息加入到ret中
ret.append(labellist)
ret.append(round(eye,3))
ret.append(round(mouth,3))
# 计时结束
tend = time.time()
# 计算fps
fps=1/(tend-tstart)
fps = "%.2f fps" % fps
# 在图片的左上角标出Fps
cv2.putText(frame,fps,(10, 20),cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 1)
# 返回ret 和 frame
return ret,frame
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化