평균 값 필터(Mean Filter)
평균 값 필터(Mean filter)는 영상의 특정 좌표 값을 주변 픽셀 값들의 산술 평균으로 설정하는 방법이다.
픽셀들 간의 그레이스케일 값 변화가 줄어들어 날카로운 에지가 무뎌지고, 영상에 있는 잡음의 영향이 사라지는 효과가 있다.
📍 실제 이미지에 평균 값 필터를 적용한 결과
마스크 크기가 커질수록 평균 값 필터 결과가 더욱 부드러워 지지만 더 많은 연산량이 필요하게 된다.
✔︎ 영상에 평균값 필터링 적용하기 - cv2.blur
import cv2
dst = cv2.blur(src, ksize, dst=None, anchor=None, borderType=None)
- src : 입력 영상
- ksize : 평균값 필터 크기. (width, height) 형태의 튜플.
- dst : 결과 영상. 입력 영상과 같은 크기 & 같은 타입.
💬 예제
import sys
import cv2
src = cv2.imread('rose.bmp', cv2.IMREAD_GRAYSCALE)
if src is None:
print('Image load failed!')
sys.exit()
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()
이처럼 마스크 행렬 크기가 커지면 필터 결과가 더욱 부드지는 것을 확인할 수 있다.
'OpenCV' 카테고리의 다른 글
[OpenCV with Python] Filtering : 영상에 샤프닝 적용 - Unsharp Mask (0) | 2022.02.01 |
---|---|
[OpenCV with Python] Filtering : Blurring - 가우시안 필터 Gaussian Filter (0) | 2022.02.01 |
[OpenCV with Python] Filtering : 필터링이란? (0) | 2022.02.01 |
[OpenCV with Python] 영상처리 : 히스토그램 역투영 (0) | 2022.02.01 |
[OpenCV with Python]영상처리 : 특정 색상 영역 추출 (0) | 2022.02.01 |