OpenCV 비전 실무6장 · 평균 필터와 Gaussian 필터20 / 21← 이전목차다음 →MetaContents

6장. 평균 필터와 Gaussian 필터

정리

노이즈, 커널과 평균 필터, Gaussian 필터와 재기의 세 칸으로 6장을 요약한 인포그래픽
  • 가우시안 노이즈는 칸마다 대부분 작고 가끔 큰 흔들림입니다. rng.normal(0, 표준편차, 모양) 으로 만들어 소수로 더한 뒤 np.clip 으로 0~255 로 자릅니다. 씨앗을 고정해야 견줄 수 있습니다.
  • 필터는 칸마다 이웃에 커널(작은 숫자 표)을 겹쳐 곱하고 더해 새 값을 씁니다. 3×3 평균 필터로 98, 103, 101, 97, 145, 99, 102, 100, 96 을 계산하면 941 ÷ 9 = 104.56, 반올림해 105 입니다.
  • cv2.blur, cv2.boxFilter 는 평균 필터입니다. 커널이 클수록 노이즈는 줄지만 가는 무늬가 흐려지고, 크기는 가운데 칸이 있는 홀수로 씁니다. 노이즈 낀 안내판에서는 크기 3 이 원본과의 평균 차이 9.38 로 가장 좋았고, 15 는 22.84 로 노이즈 낀 그림(15.81)보다 나빴습니다.
  • 가장자리는 바깥에 칸을 덧대 계산합니다. 기본값은 끝 칸을 빼고 거울에 비추는 BORDER_REFLECT_101 입니다.
  • Gaussian 필터는 가운데에 무게를 많이 주는 가중 평균입니다. 크기 5 의 무게는 1-4-6-4-1 을 16 으로 나눈 값이고, 시그마가 클수록 넓게 퍼집니다. 같은 크기 9 에서 경계가 번진 폭은 평균 필터 8칸, Gaussian 4칸이었습니다.
  • cv2.filter2D 로 커널을 직접 만들 수 있고, 밝기를 지키려면 커널 숫자의 합이 1 이어야 합니다.
  • 깨끗한 원본이 있으면 평균 절대 차이(작을수록)와 PSNR(클수록)로 필터의 효과를 잽니다. 야간 주차장 그림에서는 Gaussian 3×3 이 PSNR 26.29dB 로 가장 좋아 노이즈 낀 그림(20.46dB)보다 5.83dB 올랐고, 평균 9×9 가 20.59dB 로 가장 나빴습니다.
← 이전 절6장 · 프로젝트 1 — 야간 주차장 사진의 노이즈 줄이기: 가장 좋은 설정 찾기다음 절 →6장 · 확인문제와 해답