평균값 필터

매일 공부(ML)·2021년 11월 19일
0

OPEN CV

목록 보기
17/45

평균값 필터

  • 평균 값 필터(Mean filter)

    • 영상의 특정 좌표 값을 주변 픽셀 값들의 산술 평균으로 설정

      • 픽셀들 간의 그레이스케일 값의 변화가 줄어들어 잡음의 영향이 사라짐

  • 실제 영상에 평균 값 필터 적용

    • 마스크 크기가 커질수록 평균 값 필터 결과가 부드러워짐

      • 더 많은 연산량이 필요

  • filter2D()함수 이용
src = cv2.imread('rose.bmp', cv2.IMREAD_GRAYSCALE)

kernel = np.array([[1/9, 1/9, 1/9],
  				   [1/9, 1/9, 1/9],
				   [1/9, 1/9, 1/9]])

dst = cv2.filter2D(src, -1, kernel)

  • 평균 값 필터링 함수
cv2.blur(src, ksize, dst=None, anchor=None, borderType=None) -> dst
  • src: 입력 영상

  • ksize: 평균값 필터 크기. (width, height)형태의 튜플

  • dst: 결과 영상. 입력 영상과 같은 크기 & 같은 타입.

  • 다양한 크기의 커널 사용
src = cv2.imread('rose.bmp', cv2.IMREAD_GRAYSCALE)

cv2.imshow('src', src)

for ksize in (3, 5, 7):
	dst = cv2.blur(src, (ksize, ksize))

	desc = 'Mean: {}x{}'.format(ksize, ksize)
	cv2.putText(dst, desc, (10, 30), cv2.FONT_HERSHEY_SIMPLEX,
1.0, 255, 1, cv2.LINE_AA)

	cv2.imshow('dst', dst)
	cv2.waitKey()

cv2.destroyAllWindows()

profile
성장을 도울 아카이빙 블로그

0개의 댓글