-
Spatial Filtering이란?컴공지식/컴퓨터비전 2024. 9. 6. 17:34
Spatial Filtering은 이미지의 공간 영역에서 특정 마스크(또는 커널, 템플릿, 윈도우)를 사용해 필터링 작업을 수행하는 기법이다.
이 마스크(또는 커널)는 작은 매트릭스 형태로, 특정 연산을 위해 이미지의 각 픽셀에 적용된다.
Spatial filters = spatial masks, kernels, templates, windows
모두 같은 의미로 사용된다.
위 그림은 3x3 크기의 Spatial Filter가 어떻게 적용되는지를 보여준다.
3x3 필터 마스크가 이미지 위에 놓여있다. 이 마스크가 이미지의 특정 부분과 겹쳐지는 방식으로 적용된다.
필터 마스크 내부에는 각 위치의 값들이 있고, 이미지의 해당 위치에 있는 픽셀 값과 곱해진 후 합산된다.
f(x, y)는 이미지의 각 픽셀 값을 의미하고 w(i, j)는 필터 마스크의 각 값(계수)들이다.
이 예에서는 마스크가 이미지의 (x, y) 좌표를 중심으로 놓여져 있어서 (x-1, y-1)부터 (x+1, y+1)까지의 9개의 픽셀을 덮고 있다.
다음은 구체적인 예시를 보자
왼쪽 큰 매트릭스는 원본 이미지의 일부분을 나타내고 있다.
각각의 숫자는 픽셀 값이다.
오른쪽 작은 매트릭스는 필터 마스크야. 3x3 크기의 필터가 적용되고 있다.
필터링은 이미지의 각 픽셀에 대해, 해당 픽셀을 중심으로 3x3 영역에 이 필터 마스크를 적용해서 새로운 값을 계산하는 과정이다.
필터 마스크의 값은 1/5와 0이다. 이 가중치에 따라 중심 픽셀 값이 결정된다.
빨간색 픽셀(좌표 (1,1))에 대해 필터링을 적용한 결과는 다음과 같다.
5*(0) + 5*(1/5) + 5*(0)
5*(1/5) + 5*(1/5) + 3*(1/5)
5*(0) + 3*(1/5) + 3*(0)위 식을 계산하면 5가 나온다.
즉, 필터링 후에도 픽셀 값이 5로 유지된다는 걸 알 수 있다.
파란색 픽셀(좌표 (4,3))에 대해 필터링을 적용한 결과는 다음과 같다.
3*(0) + 3*(1/5) + 3*(0)
3*(1/5) + 3*(1/5) + 3*(1/5)
3*(0) + 3*(1/5) + 3*(0)계산 결과는 3이 된다. 파란색 픽셀도 필터링 후 값이 3으로 유지된다.
녹색 픽셀(좌표 (3,2))에 대해 필터링을 적용한 결과는 다음과 같다.
3*(0) + 3*(1/5) + 3*(0)
5*(1/5) + 3*(1/5) + 3*(1/5)
5*(0) + 5*(1/5) + 3*(0)계산 결과는 19/5, 즉 3.8이 된다. 녹색 픽셀은 필터링 후 값이 변경된다.
요약하자면:
1. 필터 마스크 값(가중치)을 각 픽셀 값에 곱한다.
2. 그 곱한 값들을 모두 더한다.
3. 그 합이 필터링된 결과 값이 된다.
'컴공지식 > 컴퓨터비전' 카테고리의 다른 글
마스크 크기의 중요성 (0) 2024.09.06 Averaging Filter와 Gaussian Filter (0) 2024.09.06 감마 보정(Gamma Correction) 구현 (0) 2024.09.06 로그 변환(Log Transformation) 구현 (0) 2024.09.06 네거티브 변환(Negative Transformation) 구현 (0) 2024.09.06