영상의 잡음
영상의 잡음(Noisr)는 영상의 픽셀 값에 추가되는 원치 않는 형태의 신호를 의미한다
여기서 f(x,y)는 획득된 영상, s(x,y)는 원본 신호, n(x,y)는 잡음을 의미한다.
대부분의 경우 센서에서 잡음이 추가된다.
잡음의 종류
1. 가우시안 잡음(Gaussian noise)
대부분의 잡음 형태는 가우시안 형태이다.
잡음이 가우시한 형태로 추가되는데, 픽셀값에서 조금 더 어두워지거나 밝아지게 된다.
2. 소금$후추 잡음(Salt&Pepper)
요즘 소금 후추 잡음은 거의 없다.
잡음 제거 - 미디언 필터 Median Filter
미디언 필터(Median filter)는 주변 픽셀들의 값들을 정렬하여 그 중앙값(median)으로 픽셀 값을 대체하는 방법이다.
소금-후추 잡음 제거에 효과적이다.
- 미디언 필터는 마스크 모양만 지정
- 사각형 행렬을 1열로 나열하고 sort
- 중앙값에 있는 값을 이용해서 셋팅
➡️ 특징은 기존의 필터들과 다르게 입력값에 있는 값을 결과값으로 반환!
✔︎ 미디언 필터링 함수 - cv2.medianBlur
import cv2
dst = cv2.medianBlur(src, ksize, dst=None)
- src : 입력 영상. 각 채널 별로 처리된다.
- ksize : 커널 크기. 1보다 큰 홀수를 지정. 숫자 하나를 집어주면 된다.
- dst : 출력 영상, src와 같은 크기, 같은 타입
약간 블러링 되는 효과가 있으며 픽셀들이 뭉치는 형태를 띄어 결과가 좋지 않다.
💬 예제
import sys
import cv2
src = cv2.imread('noise.bmp', cv2.IMREAD_GRAYSCALE)
if src is None:
print('Image load failed!')
sys.exit()
dst = cv2.medianBlur(src, 3)
cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()
⬇️
소금&후추 잡음은 조정되었지만 화질의 퀄리티가 좋지는 않다.
'OpenCV' 카테고리의 다른 글
[OpenCV with Python] 영상 기하학적 변환 : 이동 변환 - cv2.warpAffine (0) | 2022.02.01 |
---|---|
[OpenCV with Python] Filtering : Noise 제거 - 양방향 필터 Bilateral Filter (0) | 2022.02.01 |
[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 : 블러링(blurring) - 평균값 필터 (0) | 2022.02.01 |