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