cam.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:FRT4FreeBuf 作者: 0x024 项目源码 文件源码
def video():
    global face_token
    ft=cv2.freetype.createFreeType2()
    ft.loadFontData(fontFileName='./data/font/simhei.ttf',id =0)
    face_cascade = cv2.CascadeClassifier('./data/cascades/haarcascade_frontalface_alt.xml')
    camera=cv2.VideoCapture(0)
    count = 0
    while(True):
        ret,frame=camera.read()
        gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        faces=face_cascade.detectMultiScale(gray,1.3,5)
        for(x,y,w,h) in faces:
            img =cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,255),2)
            if count%5<2:

                f=cv2.resize(gray[y:y+h,x:x+w],(200,200))
                cv2.imwrite('./data/temp/temp.pgm',f)
                result=FaceAPI.searchItoI(image_file='./data/temp/temp.pgm')
                if len(result)==4:
                    break           
                if result["results"][0]["confidence"] >= 80.00:
                    print result["results"][0]["confidence"]
                    face_token=result["results"][0]["face_token"]
                    detail=get_detail()
                    # shutil.copyfile("./data/temp/temp.pgm","./data/at/%s/%s.pgm"%(detail,time.strftime('%Y%m%d%H%M%S')))
                    print detail
                    ft.putText(img=img,text=detail[1], org=(x, y - 10), fontHeight=60,line_type=cv2.LINE_AA, color=(0,255,165), thickness=2, bottomLeftOrigin=True)
                    # count+=1
                else:
                    print"Unknow face"
                    cv2.putText(img,"Unknow", (x, y - 10), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0,0,225), 2)   
            count +=1
            print count
        cv2.namedWindow("image",cv2.WINDOW_NORMAL)
        cv2.imshow("image",frame)
        if cv2.waitKey(1000 / 12)&0xff==ord("q"):
            break
    camera.release()
    cv2.destroyAllWindows()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号