scikit-image 필터

scikit-image 필터 (Filters)

필터는 이미지의 픽셀 값을 변환해서 블러, 노이즈 제거, 선명화, 엣지 강조 같은 효과를 내는 작업이에요. scikit-image의 filtersrestoration 모듈이 이런 기능을 제공해요.

출처: https://scikit-image.org/docs/stable/auto_examples/segmentation/index.html

기본 필터 예시

가우시안 블러는 가장 흔한 필터예요. skimage.filters.gaussian()에 이미지와 표준편차(sigma)를 넘겨요.

from skimage import filters

blurred = filters.gaussian(image, sigma=1.0)

엣지 검출

엣지(경계)를 검출하는 필터도 있어요. sobel(), canny() 같은 것이 대표적이에요. Canny는 여러 단계로 정밀한 엣지를 찾는 알고리즘이에요.

from skimage import filters

edges = filters.sobel(image)
edges = filters.canny(image, sigma=1.0)

임계값 처리 (Thresholding)

이미지를 전경과 배경으로 나눌 때 임계값을 쓰는 필터를 써요. threshold_otsu()가 자동으로 임계값을 정해주고, apply_threshold()나 이진화로 적용해요.

from skimage import filters

thresh = filters.threshold_otsu(image)
binary = image > thresh

노이즈 제거

노이즈를 지우려면 skimage.restoration.denoise_tv_bregman()이나 메디안 필터 같은 것을 써요. 필터마다 사진 특성에 따라 결과가 다르니, 여러 방법을 비교해 보는 게 좋아요.

더 알아보기