代码拉取完成,页面将自动刷新
# 检测的接口函数
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。