Filtering

정승균·2021년 1월 24일
0

OpenCV

목록 보기
5/7
post-thumbnail

1. blur

  • 평균 필터

  • dst = cv.blur(src, ksize)

    • src : 필터링할 이미지
    • ksize : 커널 사이즈 tuple

2. gaussianBlur

  • 가우시안 필터

  • dst = cv.GaussianBlur(src, ksize, sigmaX)

    • src : input image
    • ksize : 가우시안 커널 사이즈. 너비와 높이가 둘 다 홀수여야 함
    • sigmaX : 커널의 x 방향 표준 편차. 0이면 ksize로부터 계산

3. medianBlur

  • 중앙값 필터

  • dst = cv.medianBlur(src, ksize)

    • src : input image
    • ksize : 1보다 큰 홀수 int

4. bilateralFilter

  • 비슷한 색끼리만 가우시안 커널을 적용해 경계선을 최대한 유지하는 필터

  • dst = cv.bilateralFilter(src, d, sigmaColor, sigmaSpace)

    • src : input image
    • d : 커널 크기. d가 0이면 sigma 값에 비례하게 설정
    • sigmaColor : 작을수록 색 구별을 잘함 int
    • sigmaSpace : 비슷한 색을 찾을 범위 int, sigmaColor랑 같은 값으로 하는 경우가 많음

5. 코드 예시

import cv2

original = cv2.imread("src/ex_codes/person.jpeg", cv2.IMREAD_COLOR)
blur = cv2.blur(original, (5, 5))
gaussian = cv2.GaussianBlur(original,(5,5),0)
median = cv2.medianBlur(original,5)
bilateral = cv2.bilateralFilter(original,9,75,75)

cv2.imshow("oringinal", original)
cv2.imshow("blur", blur)
cv2.imshow("gaussian", gaussian)
cv2.imshow("median", median)
cv2.imshow("bilateral", bilateral)

cv2.waitKey(0)
cv2.destroyAllWindows()

0개의 댓글