Non Local Means Filter
1 개요
이미지 큰 영역의 유사한 픽셀의 평균값을 통해 이미지의 노이즈를 줄이는 알고리즘입니다.
2 알고리즘 상세 설명
Non Local Means Filter는 특정 픽셀과 유사한 픽셀의 평균값을 통해 denoising을 진행합니다. 특정 픽셀과 유사한 픽셀이 가까운 영역에 있지 않을 수 있으므로, 이미지의 큰 영역을 탐색합니다. 유사도 계산을 위해 각 픽셀 주변의 윈도우 영역을 비교합니다.
- : 원본 이미지
- : denoising된 이미지
- : 기준 픽셀 의 윈도우 영역 (반지름: )
- : 가중치
가중치 는 패치 영역 내의 squared Euclidean distance, 을 통해 연산합니다. 이를 통해 각 픽셀값은 유사한 픽셀의 평균으로 복원됩니다.
- : 이미지 채널
- : 패치 반지름
가중치 연산을 위해 지수 커널을 사용합니다.
- : 노이즈의 표준 편차
- : 필터링 파라미터
Gaussian Noise Image | Destination Image |
---|---|
![]() |
![]() |
Fig. 동작 예시 (Sigma: 0.2)
CNonLocalMeansFilter nonLocalMeansFilter;
CFLImage fliSourceImage;
nonLocalMeansFilter.SetSourceImage(fliSourceImage);
nonLocalMeansFilter.SetPatchKernel(3);
nonLocalMeansFilter.SetWindowKernel(7);
nonLocalMeansFilter.SetSigma(0.2);
nonLocalMeansFilter.SetH(0.4);
nonLocalMeansFilter.SetPaddingMethod(EPaddingMethod_DecreasingKernel);
nonLocalMeansFilter.Execute();
3 파라미터 설정 및 사용 방법
-
SetPatchKernel
- 패치 커널 크기를 설정합니다.
- 홀수값이 입력되어야 합니다.
- 기본값은 3입니다.
-
SetWindowKernel
- 윈도우 커널 크기를 설정합니다.
- 홀수값이 입력되어야 합니다.
- 기본값은 7입니다.
-
SetSigma
- 노이즈의 표준편차를 설정합니다.
- 기본값은 0.05입니다.
-
SetH
- 필터링 파라미터 H를 설정합니다.
- 기본값은 0.4입니다.