opencv-python을 이용한 얼굴 인식과 모자이크 처리

최대 1 분 소요

얼굴 인식 및 모자이크 처리

OpenCV를 이용하여 이미지 속 인물의 얼굴은 인식한 후 좌표를 추출하여 저장한다. 이후 다시 이미지를 불러와 입력된 이미지 속 좌표에 맞춰 얼굴을 모자이크 처리한다.

requirement


opencv-python(3.4.5.20) - 설치법

python 3.7

pyenv-virtualenv(optional)


얼굴 인식을 이용하기 위해서는 location.py를 이용하면 된다.

python location.py

./img 폴더에 저장되어 있는 이미지를 모두 읽은 뒤 각 이미지마다 인식된 인물들의 얼굴 좌표를 ./location 폴더에 저장 된 xml 파일로 저장한다.

좌표는 인식된 얼굴을 사각형으로 분류하여 각 꼭지점의 좌표를 뜻한다.

아래의 이미지를 예시로 사용하면,

8 58 1161 58

2118 42 2053 42

636 53 35 53

2 55 3006 55

1 55 1683 55

...생략...

위와 같은 좌표 값을 계산한 뒤 ./locationloc_{imgName}.xml로 생성 되었다.

모자이크 처리

모자이크 처리는 더욱 간단하다. ./location 에 저장되어 있는 좌표를 읽은 뒤 ./img 의 이미지에 좌표를 resize한 뒤 다시 원상 복귀 시켜 고의로 좌표에 해당하는 부분을 열화시키는 것이다. 처리 결과는 ./result 에 저장된다.

예시로 사용된 이미지를 모자이크 처리하기 위해서 아래의 명령어를 사용한다.

python blur.py

xml에 저장된 좌표에 따라 모자이크 된 결과가 나타난다.


참조

GitHub