반응형
이전 포스팅에서 cvlib을 활용해 이미지 속 인물들의 얼굴을 모자이크 처리하였습니다.
이번엔 영상에서 인물들의 얼굴을 모자이크 하는 테스트를 실시해 보겠습니다.
소스코드
import cvlib as cv
import cv2
vedio_path = '/vedio.mp4' #-- 동영상 경로 입력
#-- 웹캠 사용
webcam = cv2.VideoCapture(vedio_path) #-- 웹캠 사용시 vedio_path 대신 0 입력
if not webcam.isOpened():
print("Could not open webcam")
exit()
while webcam.isOpened():
#-- 프레임 읽어들이기
status, frame = webcam.read()
if not status:
print("Could not read frame")
exit()
#-- detect_face 사용
face, confidence = cv.detect_face(frame)
for idx, f in enumerate(face):
(startX, startY) = f[0], f[1]
(endX, endY) = f[2], f[3]
#-- 모자이크 효과 사용
face_region = frame[startY:endY, startX:endX]
B = face_region.shape[0]
S = face_region.shape[1]
face_region = cv2.resize(face_region, None, fx=0.1, fy=0.1, interpolation=cv2.INTER_AREA)
face_region = cv2.resize(face_region, (S, B), interpolation=cv2.INTER_AREA)
frame[startY:endY, startX:endX] = face_region
cv2.imshow("FaceMosaic", frame)
#-- esc 입력 시 종료
if cv2.waitKey(10) == 27:
break
webcam.release()
cv2.destroyAllWindows()
테스트
뉴스 영상의 모자이크 처리 모습
아쉽게도 수어통역사분은 인식이 되질 않는 모습입니다.
다수의 사람이 지나갈 때의 인식 상태
어느정도 프레임에 얼굴이 잡혀야 인식이 되는 듯 싶습니다.
반응형
'Python > OpenCV' 카테고리의 다른 글
[OpenCV] HOG(Histogram of Oriented Gradients) 영상 테스트 (0) | 2022.03.03 |
---|---|
[OpenCV] HOG(Histogram of Oriented Gradients) 이미지 테스트 (0) | 2022.03.03 |
[OpenCV] cvlib 이미지 인물 얼굴 모자이크 (0) | 2022.02.07 |
[OpenCV] putText 파라미터 (0) | 2022.01.03 |
[OpenCV] 광 흐름 탐지 - optical flow detection (0) | 2022.01.03 |
댓글