Page 569 - MDP2020-1
P. 569

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


                2)  라즈베리파이
            ▶  버전:  라즈베리파이4  /  프로그램  :  vnc  Viewer  활용
            ▶  이목구비의  좌표를  통해  얼굴인식을  하는  코드이다.  등록되어  있는  값을  인식하여  암  프로세
            서에게  신호를  전달한다.  만약  등록되어  있지  않은  값을  인식하면  아두이노에게  신호(부저·어

            플)를  전달한다.
                    ▶Test  Program)
            import  cv2
            from  picamera.array  import  PiRGBArray

            from  picamera  import  PiCamera
            import  time


            face_cascade                                                                                    =
            cv2.CascadeClassifier('/home/pi/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_
            alt.xml')  //OpenCV  source  가져오기



            camera  =  PiCamera()


            camera.resolution  =  (640,  480)



            camera.framerate  =  30


            rawCapture  =  PiRGBArray(camera,  size=(640,  480))


            time.sleep(0.1)



            for     frame      in     camera.capture_continuous(rawCapture,          format      =     "bgr",
            use_video_port=True):


                  img  =  frame.array



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


                  face_rects  =  face_cascade.detectMultiScale(gray,  1.3,  5)  //scale  조정



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


                        cv2.rectangle(img,  (x,y),  (x+w,  y+h),  (0,  255,  0),  3)  //좌표값  읽어오기


                  cv2.imshow('Face  Detector',  img)



                  key  =  cv2.waitKey(1)  &  0xFF
   564   565   566   567   568   569   570   571   572   573   574