OpenCV-Python 얼굴 마찰 알고리즘 실현

사람의 얼굴 을 갈 아 주 는 것 이 가장 기본 적 인 사람의 얼굴 미용 효과 다.주로 기미 제거,여드름 제거,다크서클 희석 등 으로 나 뉜 다.앞의 학습 을 통 해 우리 가 무엇 을 해 야 사람의 얼굴 을 가 려 내 는 지 한눈 에 알 수 있 을 것 이 라 고 믿 습 니 다.
가죽 을 갈 고 나 면 얼굴의 불순물 이 거의 없어 지고 디 테 일 을 잃 어 버 렸 다 고 할 수 있 기 때문이다.그럼 필터 함수 가 필요 할 거 야.필터 의 과정 은 그림 의 모든 픽 셀 값 을 필 터 를 입력 하여 부 드 러 운 그림 을 얻 는 것 입 니 다.
우리 가 자주 사용 하 는 필 터 는 평균 값 필터,고 스 필터 와 양자 필터 세 가지 가 있 는데 도대체 그런 필 터 를 사용 하 는 것 일 까?
우선,평균 값 필 터 는 원 픽 셀 값 을 주변 픽 셀 의 평균 값 으로 대체 하기 때문에 이미지 가 너무 모호 할 수 있 으 므 로 제거 합 니 다.그 다음으로 고 스 필 터 는 평균 값 필터 원리 와 유사 하 다.다만 고 스 필터 의 템 플 릿 계 수 는 템 플 릿 중심 에서 커지 면서 줄어든다.이미지 의 모호 도 를 약화 시 킬 수 있 지만 이미지 가장자리 정 보 는 잃 어 버 릴 수 있다.
그렇다면 필터 하나만 남 았 다.즉,쌍무 필터 다.하 이 패스 필터 와 a-절 미 평균 값 필터 의 중첩 효 과 를 동시에 종합 하여 이미지 가 매우 모호 하지 않 고 이미지 가장자리 정 보 를 유지 할 수 있 기 때문이다.
한편,사람의 얼굴 을 갈 는 원리 의 절 차 는 다음 과 같은 세 단계 로 나 뉜 다.
이미지 필터
이미지 융합
이미지 예화
위의 세 가지 필터 가 어떻든 간 에 일정한 모호 함 을 초래 할 수 있 기 때문에 이미지 에 대한 융합 과 예화 작업 이 필요 하 다.이렇게 하면 이미지 의 진실성 을 강화 하기 위해 일부 이미지 의 디 테 일 을 보존 할 수 있다.
그 중에서 이미지 융합 에 사용 되 는 함 수 는 cv2.addWeighted()이미지 가중 함수 입 니 다.원 그림 과 쌍 통 필터 후의 이미지 가 융합 되 었 다.
마지막 으로 이미지 예화 에 사용 되 는 PIL 라 이브 러 리 를 조작 하고 이미지 Enhance.Harpness()함 수 를 사용 하여 이미지 의 예도 와 대비 도 를 자동 으로 조절 합 니 다.
안면 마찰 효 과 를 실현 하 다.
우 리 는 이미 사람의 얼굴 을 갈 는 원 리 를 완전히 파악 했다.다음은 우리 가 사람의 얼굴의 마찰 효 과 를 직접 실현 하고 구체 적 인 코드 는 다음 과 같다.

#     
def facial_dermabrasion_effect(fileName):
    img = cv2.imread(fileName)
    blur_img = cv2.bilateralFilter(img, 31, 75, 75)
    #    
    result_img = cv2.addWeighted(img, 0.3, blur_img, 0.7, 0)
    cv2.imwrite("58_1.jpg", result_img)

    image = Image.open("58_1.jpg")
    #     
    enh_img = ImageEnhance.Sharpness(image)
    image_sharped = enh_img.enhance(1.5)
    #      
    con_img = ImageEnhance.Contrast(image_sharped)
    image_con = con_img.enhance(1.15)
    image_con.save("58_2.jpg")

    img1 = cv2.imread("58.jpg")
    img2 = cv2.imread("58_2.jpg")
    cv2.imshow("1", img1)
    cv2.imshow("2", img2)
    cv2.waitKey()
    cv2.destroyAllWindows()


if __name__ == "__main__":
    facial_dermabrasion_effect("58.jpg")
실행 후 효 과 는 다음 과 같 습 니 다.
磨皮效果
이 코드 의 매개 변 수 는 모두 조정 할 수 있 는 것 이지 변 하지 않 는 것 이 아니다.관심 이 있 는 독 자 는 스스로 매개 변 수 를 조절 하여 효 과 를 시험 해 볼 수 있다.물론 사람의 얼굴 이 갈 리 는 것 은 피부 가 매 끄 러 워 보일 뿐이다.다음은 미백 효 과 를 결합 하면 카메라 의 그런 미 모 를 실현 할 수 있다.
OpenCV-Python 의 얼굴 마찰 알고리즘 구현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 OpenCV 얼굴 마찰 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기