(예시)
import cv2
# 카메라 열기
cap = cv2.VideoCapture(0) # 0은 기본 카메라를 의미합니다. 여러 개의 카메라가 연결되어 있는 경우 숫자를 변경하여 선택할 수 있습니다.
# 카메라 속성 설정 (옵션)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) # 프레임 너비 설정
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) # 프레임 높이 설정
while cv2.waitKey(33) < 0:
ret, frame = cap.read() # 프레임 읽기
cv2.imshow("VideoFrame", frame) # 프레임 출력
# 메모리 해제
cap.release()
cv2.destroyAllWindows()
import cv2
import numpy as np
font = cv2.FONT_HERSHEY_SIMPLEX
def facedetect():
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
fullbody_cascade = cv2.CascadeClassifier('haarcascade_fullbody.xml')
try:
cap = cv2.VideoCapture(0)
except:
print("Video Error")
return
while True:
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
# gray = 분석될 이미지 또는 영상 프레임
# scaleFactor = 이미지에서 얼굴 크기가 서로 다른 것을 보상해주는값
# minNeighbors = 얼굴 사이의 최소 간격( 픽셀 )
# minSize = 얼굴의 최소 크기
#faces = face_cascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=5,minSize=(100,100))
#eye = eye_cascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=5,minSize=(100,100))
fullbody = fullbody_cascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=5,minSize=(100,100))
for (x,y,w,h) in fullbody:
cv2.rectangle(frame, (x,y), (x+w, y+h), (0,255,0), 2)
cv2.putText(frame,'Faces',(x-5,y-5),font,0.5,(255,0,0),2)
cv2.imshow('frame',frame)
k = cv2.waitKey(1)
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
facedetect()
에러가 많이 남으로 인하여
위에 보이는 카메라로 교체했다