OpenCV 비전 실무15장 · 비디오 처리와 실시간 영상처리12 / 22← 이전목차다음 →MetaContents

15장. 비디오 처리와 실시간 영상처리

개인정보와 동영상

가게 입구에 CCTV 를 달면 "CCTV 촬영 중" 안내판을 붙입니다. 찍히는 사람이 알 수 있게 하고, 필요한 곳만 비추고, 정해진 기간이 지나면 지웁니다. 동영상은 사진보다 훨씬 많은 장면이 담기고 사람의 얼굴, 차량 번호, 움직인 경로까지 남기 때문에 이런 약속이 더 무겁습니다.

알리고 동의받기, 필요한 만큼만 찍기, 가리고 지우기의 세 가지 약속을 나란히 놓은 비교 그림

그림의 세 상자는 사람이 찍힐 수 있는 동영상을 다룰 때 먼저 챙길 일입니다. 1장의 주의할 점에서 본 것처럼 개인정보가 찍히는 영상은 모으고 쓰기 전에 법과 동의 절차를 먼저 확인합니다. 여기서 안내판이 알리고 동의받기이고, 정해진 기간 뒤에 지우는 일이 셋째 상자입니다. 이 교안은 그래서 사람이 없는 도형 동영상만 씁니다.

동영상을 다룰 때 챙길 것

단계챙길 것
찍기 전찍는다는 것을 알리고, 필요하면 동의를 받는다. 기관의 규정과 개인정보 보호 법령을 확인한다
찍을 때목적에 필요한 곳만 비추고, 필요 이상으로 높은 해상도·긴 시간을 남기지 않는다
다룰 때얼굴과 차량 번호처럼 사람을 알아볼 수 있는 곳은 흐리게 가린다
다 쓴 뒤정해 둔 기간이 지나면 지우고, 공유할 때는 가린 판만 넘긴다
Python
import cv2

# 주차장 입구 동영상의 첫 프레임에서 안내판 자리를 흐리게 가려 본다(가리기 연습)
cap = cv2.VideoCapture("ch15_parking.mp4")
ok, frame = cap.read()
cap.release()

x, y, w, h = 20, 30, 50, 40                        # 가릴 네모: 왼쪽 위 (20, 30), 가로 50, 세로 40
roi = frame[y:y + h, x:x + w]                      # 그 자리만 잘라 낸다(배열은 [세로, 가로])
frame[y:y + h, x:x + w] = cv2.GaussianBlur(roi, (31, 31), 0)   # 아주 세게 흐려 덮어쓴다
print("가린 자리의 모양:", roi.shape)               # 결과: (40, 50, 3)

주의할 점

  • 이 교안의 동영상은 사람이 나오지 않는 가상 동영상이라 가리기를 안내판 자리로 연습했습니다. 실제 영상에서 얼굴이나 번호판의 자리를 찾는 일은 17장부터 다루는 탐지 모델의 몫입니다.
  • 흐리게 가린 동영상도 블러가 약하면 알아볼 수 있습니다. 커널을 크게 하거나 단색으로 덮습니다.
← 이전 절15장 · 웹캠 다루기다음 절 →15장 · 동영상 처리 한눈에 고르기