ComputerLanguage_Program/PYTHON
[PYTHON] OpenCV를 활용한 기생충 웹캠 어플리케이션 만들기
pbj0812
2020. 2. 22. 22:09
0. 목표
- 지난 기생충 포스터 만들기를 응용하여 기생충 어플리케이션 제작
1. 준비물
- 웹캠
2. 코드
1) library 호출
import cv2
2) 구동 함수 제작
(1) xml 파일 호출
(2) try 구문을 통하여 웹캠의 유무를 확인(cv2.VideoCapture(0)의 번호를 변경하여 캠을 선택)
(3) detectMultiScale을 통해 얼굴 탐색
(4) for문을 통하여 얼굴 마다의 좌표 확인 및 지난 시간의 알고리즘을 삽입
(5) esc 키를 통한 종료
def faceDetect():
eye_detect = False
face_cascade = cv2.CascadeClassifier("C:/Users/user/jupyter_works/opencv_python/xml/haarcascade_frontface.xml")
print(face_cascade)
try:
cap = cv2.VideoCapture(0)
except:
print('fail')
return
while True:
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
color = (0, 0, 0)
for (x, y, w, h) in faces:
# cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)
cv2.rectangle(frame,(x,y+int(h/28*10)),(x+w,y+int(h/28*14)),color,-1)
cv2.imshow('frame', frame)
k = cv2.waitKey(30)
if k == ord('i'):
eye_detect = not eye_detect
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
3) 실행
faceDetect()
3. 결과
4. 참고
- 참고 코드