Skip to content

Wooks-git/ImageProcessing_FaceRecognition_Blur_Mask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ImageProcessing_FaceRecognition_Blur_Mask

Overview

Cascade classifier를 통해 얼굴을 인식하여 블러 효과(모자이크), Mask, Edge Filter 등을 Tkinter module을 통해 사용자가 조작하여 원하는 효과를 적용할 수 있다.

시연 스크린샷

Original Image

Blur Image

Edge Image

Masking Image

Code

Cascade classifier

path 변수를 통해 각각의 이미지를 저장할 경로를 생성해줍니다.(blur, edge, mask)
face_detector 변수를 통해 cascade classifier로 얼굴 인식을 할 수 있도록 설정해주었습니다.

Blur

Cascade를 통하여 받은 얼굴 좌표(x,y,w,h)를 통해 subface에 저장하여 해당 좌표에 블러처리를 하여 이미지에 적용해 줍니다.

Edge

Mask

코드 첫 줄에 얼굴 부분의 영역만 gray scale로 바꿔주는데, threshold를 이요해 줄 것이어서 gray scale로 바꿔주었습니다.
그 후 적용할 마스크를 resize해주고 threshold를 통해 특정 값을 0과 1로 바꿔준다. 이렇게 해주는 이유는 bitwise연산을 통하여 얼굴에 바로 적용할 수 있도록 하기 위함입니다.
그렇게 바꾼 마스크 이미지를 bitwise연산을 통해 얼굴에 씌워주고 해당 이미지를 return해주는 코드입니다.
예외 처리를 해 준 이유는 Mask가 화면 밖으로 나갔을 경우 범위 오류가 생성되면서 프로그램이 종료하는 문제를 겪었습니다. 해당 문제를 해결하기 위해 예외처리로 간단히 해결했습니다.

Image save

각각 Mask(i_ga), Blur(i_blur), Edge(i_edge), Original(i_original)의 전역 변수를 생성해 주었습니다. 이미지에 numbering을 해줄 변수 입니다.
그 후 맨 처음에 설정한 경로에 저장해주는 코드입니다.
코드를 한 번 실행하고 Image를 저장했을 때 종료 후 다음에 실행시 이미 파일이 있어서 error가 생성되며 종료되는 버그가 있었습니다. 따라서 에외 처리를 통하여(덮어쓰기) 형식으로 오류를 해결하였습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages