Today
Total
08-25 02:03
관리 메뉴

devGYU World

OpenCV를 활용한 얼굴인식 모자이크 실습 본문

Study/Other

OpenCV를 활용한 얼굴인식 모자이크 실습

devGYU 2021. 12. 8. 00:18

OpenCV를 활용하여 이미지 속 인물의 얼굴을 인식한 후 모자이크 처리를 수행하는 파이썬 코드를 실습한다.

 

우선 실습 코드를 적당한 위치에 클론한다.

git clone https://github.com/devGyu97/opencv-face-recognition.git

 

클론된 레포지토리로 이동 후 opencv-python 라이브러리를 설치한 후 location 파일을 실행한다.

cd opencv-face-recognition
pip3 install opencv-python
python3 location.py

 

location.py를 실행하면 ./location 폴더에는 ./img 폴더 내의 이미지로부터 인식된 이미지의 좌표가 기록된 파일이 저장된다.

sample0.jpg로부터 인식된 얼굴 좌표는 아래와 같다

136 106 160 106

다수의 인물이 인식되는 경우에는 여러 개의 좌표가 인식된다.

44 130 414 130
67 133 835 133
101 106 694 106
127 138 231 138
137 109 155 109
171 62 711 62
168 124 586 124
214 132 784 132
232 166 444 166
265 157 200 157
296 174 592 174
296 126 2 126
261 156 228 156

 

xml 파일에 기록된 좌표 값을 기반으로 blur.py는 좌표 공간 내의 이미지의 크기를 줄인 뒤 다시 원래의 크기로 복구한다.

이때 이미지는 축소 후 확대로 인해 열화 과정을 거치며 자연스러운 모자이크 효과가 생성된다.

./img 폴더 내의 이미지 모자이크 결과는 ./result 폴더에 저장된다.

python3 blur.py

 

얼굴의 일부가 잘린 경우 완벽하게 모자이크가 되지는 않는다.

 

비록 완벽한 적용은 어려우나 급한대로 사용하거나 OpenCV의 실습용으로는 적당하다고 생각한다.

 

인물의 옆모습이나 다수의 인원에게도 잘 적용됨을 확인할 수 있다.

 


참고
 

GitHub - devGyu97/opencv-face-recognition

Contribute to devGyu97/opencv-face-recognition development by creating an account on GitHub.

github.com

 

Home - OpenCV

OpenCV provides a real-time optimized Computer Vision library, tools, and hardware. It also supports model execution for Machine Learning (ML) and Artificial Intelligence (AI).

opencv.org

 

'Study > Other' 카테고리의 다른 글

JAVA를 활용한 3가지 GUI 게임  (0) 2021.12.08
Comments