Page 571 - MDP2020-1
P. 571

················································································  명장양성프로젝트  【MDP】  과제발표회  자료집  Ⅰ    |  565




            #  Define  min  window  size  to  be  recognized  as  a  face
            minW  =  0.1*cam.get(3)
            minH  =  0.1*cam.get(4)



            while  True:
                    while  g.input(arm):
                            ret,  img  =cam.read()

                            gray  =  cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

                            faces  =  faceCascade.detectMultiScale(
                                    gray,
                                    scaleFactor  =  1.2,
                                    minNeighbors  =  10,

                                    minSize  =  (int(minW),  int(minH)),
                                  )


                            for(x,y,w,h)  in  faces:

                                    cv2.rectangle(img,  (x,y),  (x+w,y+h),  (0,255,0),  2)
                                    id,  confidence  =  recognizer.predict(gray[y:y+h,x:x+w])

                                    if  (confidence  <  55):
                                            id  =  names[id]
                                            confidence  =  "    {0}%".format(round(100  -  confidence))

                                            g.output(buzzer,g.LOW)
                                            g.output(out,g.HIGH)
                                            time.sleep(0.1)
                                            g.output(out,g.LOW)


                                    else:
                                            id  =  "unknown"
                                            confidence  =  "    {0}%".format(round(100  -  confidence))
                                            g.output(out,g.LOW)
                                            g.output(buzzer,g.HIGH)

                                            time.sleep(0.1)
                                            g.output(buzzer,g.LOW)

                                    cv2.putText(img,  str(id),  (x+5,y-5),  font,  1,  (255,255,255),  2)
                                    cv2.putText(img,  str(confidence),  (x+5,y+h-5),  font,  1,  (255,255,0),  1)


                            cv2.imshow('camera',img)
   566   567   568   569   570   571   572   573   574   575   576