미세 박피술과 같은 복잡한 이미지 처리의 경우 scipy와 같은 과학 컴퓨팅 패키지를 사용하는 것이 분명히 더 복잡하므로 아티팩트 opencv가 사용됩니다.
pip install opencv-python
미세 박피술의 본질은 표면을 흐리게 하는 것이지만 흐림을 직접 사용하면 윤곽의 가장자리가 흐려집니다. 따라서 가장자리를 보존하는 역할을 할 수 있는 필터인 양방향 필터링을 사용할 필요가 있으며,
opencv에는 이미지 표시를 위한 창이 포함되어 있으므로 다른 드로잉 패키지를 가져올 필요가 없습니다. 먼저 이미지를 엽니다.
import numpy as np
import cv2
img = cv2.imread("dip.jpg")
cv2.imshow("test",img)
그림이 보여주듯이
먼저 이미지에 대해 양방향 필터링을 수행합니다.
#双边滤波,三个参数分别是
biImg = cv2.bilateralFilter(img,50,50,50)
ck = np.append(img,biIimg,axis=1) #拼接处理前后的图像,用于对比
cv2.imshow("comparison",ck)
비교해보면 양의 태반을 바른 듯 약간의 효과도 있고 피부가 확연히 개선된 것을 알 수 있다.
그 중 bilateralFilter
Opencv의 양방향 필터링 기능은 가우스 필터링을 기반으로 에지 관련 가중치 요소를 추가합니다. 따라서 양방향 필터링은 임계값 검색 에지 + 가우스 필터링으로 이해할 수 있습니다. 가장자리를 찾은 후 가장자리가 아닌 영역에는 가우스 필터링을 사용하고 가장자리와 유사한 영역에는 가우스 필터링의 가중치를 줄입니다. 따라서 처리할 이미지 외에 img
입력 매개변수는 각각 필터 반경, 가우스 필터 함수의 표준 편차 및 임계값 함수의 표준 편차입니다.