1 Star 0 Fork 0

bleedingfight/dl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
detect_faces.py 1.65 KB
一键复制 编辑 原始数据 按行查看 历史
# python detect_faces.py --prototxt deploy.prototxt --model res10_300x300_ssd_iter_140000.caffemodel
import numpy as np
import argparse
import cv2
import imutils
import time
import imutils
from imutils.video import VideoStream
ap = argparse.ArgumentParser()
ap.add_argument("-s","--stream",type=int,default = 0,help="path to input image")
ap.add_argument("-p","--prototxt",required = True,help="path to caffe 'deploy' prototxt file")
ap.add_argument("-m","--model",required=True,help="path to caffe pre-trained model")
ap.add_argument("-c","--confidence",type=float,default=0.5,help="minimum probability to filter weak detections")
args = vars(ap.parse_args())
print("[INFO] load models...")
net = cv2.dnn.readNetFromCaffe(args["prototxt"],args["model"])
vs = VideoStream(0).start()
time.sleep(2.0)
while True:
frame = vs.read()
frame = imutils.resize(frame,width = 400)
(h,w) = frame.shape[:2]
blob = cv2.dnn.blobFromImage(cv2.resize(frame,(300,300)),1.0,(300,300),(104.0,127.0,123.0))
net.setInput(blob)
detections = net.forward()
for i in range(0,detections.shape[2]):
confidence = detections[0,0,i,2]
if confidence > args["confidence"]:
box = detections[0,0,i,3:7]*np.array([w,h,w,h])
(startX,startY,endX,endY)=box.astype("int")
text = "{:.2f}".format(confidence*100)
y = startY-10 if startY-10>10 else startX +10
cv2.rectangle(frame,(startX,startY),(endX,endY),(0,0,255),2)
cv2.putText(frame,text,(startX,y),cv2.FONT_HERSHEY_SIMPLEX,0.45,(0,0,255),2)
cv2.imshow("Output",frame)
k = cv2.waitKey(1)
if k == 27:
break
vs.stop()
cv2.destroyAllWindows()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/bleedingfight/dl.git
git@gitee.com:bleedingfight/dl.git
bleedingfight
dl
dl
master

搜索帮助