동영상 얼굴탐지_test

tpids·2024년 8월 30일

OpenCV

목록 보기
8/8
import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

# 동영상 파일 열기
video = cv2.VideoCapture('./data/person_video.mp4')

color = [255,255,255]

# 동영상 프레임을 반복적으로 읽기
while True:
    ch, frame = video.read()
    
    # 더 이상 읽을 프레임이 없으면 루프 탈출
    if not ch:
        break
    
    # 얼굴 탐지
    faces, confidences = cv.detect_face(frame)
    
    # 탐지된 얼굴들에 대해 Bounding Box와 conf 값 그리기
    for i, (face, conf) in enumerate(zip(faces, confidences)):
        (startX, startY, endX, endY) = face
        
        # 사각형 Bounding Box 그리기 (흰색)
        cv2.rectangle(frame, (startX, startY), (endX, endY), color, 2)
        
        # conf 값을 사각형 하단에 텍스트로 출력하기 (흰색)
        text = "{:.2f}%".format(conf * 100)
        cv2.putText(frame, text, (startX, endY + 20), 
                    cv2.FONT_HERSHEY_SIMPLEX, 0.7, color, 2)
    
    # 결과 프레임을 화면에 출력
    cv2.imshow("Video", frame)
    
    # q 키를 누르면 종료
    key = cv2.waitKey(33)
    if key == ord('q'):
        print('사용자에 의해서 영상이 종료')
        break

# 동영상 파일 닫기
video.release()

# 모든 창 닫기
cv2.destroyAllWindows()
profile
개발자

0개의 댓글