ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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. 그 합이 필터링된 결과 값이 된다.

     

     

     

Designed by Tistory.