영상에 있는 공간 주파수 대역을 제거하거나 강조하는 필터 처리.
사용되는 필터의 계수에 따라 특정 주파수를 제거하거나 강조하므로, 필터 마스크 또는 회전 마스크의 가중치 선택이 공간 필터의 행동을 결정한다.
영상처리에서는 홀수 차원의 정방형 마스크가 사용된다.
저주파 통과 필터링 -> 저주파 성분 남기고 고주파 성분 제거하는 필터링.
고주파 통과 필터링 -> 고주파 성분 남기고 저주자 성분 제거하는 필터링.
에지 강화 필터 -> 경계선 검출.
과정은 다음과 같다.
1. 이웃 처리는 중앙점(x,y)를 선택.
2. (x,y) 주위의 미리 정의된 이웃에 있는 화소들만을 포함하는 연산을 수행한다.
3. 연산의 결과를 그 점(중앙점)에서의 처리의 응답으로 한다.
4. 영상의 모든 점에 대해 이 과정을 반복하는 것으로 구성한다.
만일 이웃 화소들에 대해 수행된 계산이 선형적이면, 그 연산은 선형 공간 필터링(공간 컨볼루션)이라고 부른다.
반대로 만일 이웃 화소들에 대해 수행된 계산이 비선형적이면, 비선형 공간 필터링이라고 부른다.

이웃의 각 화소를 대응하는 계수로 곱하고 더한 그 결과를 합산한다.
𝑔(𝑥,𝑦)=𝑤(−1,1)𝑓(𝑥−1,𝑦−1)+𝑤(−1,0)𝑓(𝑥−1,𝑦)+…
+𝑤(0,0)𝑓(𝑥,𝑦)+…
이웃의 크기가 mxn이면, mn개의 계수가 필요하며 계수들은 배열에 배치하고 필터, 마스크, 필터 마스크, 커널, 템플릿, 윈도우
일반적으로 홀수 크기의 마스크를 사용하고 -> 중앙점이 확실히 드러나 직관적이다.
선형 공간 필터링을 수행할 때 관련된 개념 : 기술적으로 같은 연산과정

코릴레이션
영상 배열 f위로 마스크 w가 지나가는 처리
컨볼루션
영상 배열 f위로 지나가기 전에 마스크 w가 180도 회전된 후 처리
시프팅
임펄스 위치에 w를 '복사'한다는 선형 시스템 이론의 근원적 개념이고 이동되는 함수가 대칭이라면 컨볼루션과 코릴레이션 결과는 동일하다.
g = imfilter(f, w, filtering_mode, boundary_options, size_options)
filtering mode(필터링 모드)
- ‘corr’ : 코릴레이션을 사용해 필터링
- ‘conv’ : 컨볼루션을 사용해 필터링
boundary options(경계 옵션)
-'full' : 출력은 확장된(패딩된) 영상과 같은 크기
-'same' : 출력은 입력과 같은 크기
size_options(크기 옵션)
-'full' : 출력은 확장된(패딩된) 영상과 같은 크기
-'same' : 출력은 입력과 같은 크기

원본영상
(b) 제로패딩 코릴레이션 g = imfilter(f, w);
(c) replicate 옵션 결과 g = imfilter(f, w, ‘replicate’);
(d) symmetric 옵션 결과 g = imfilter(f, w, ‘symmetric’);
(e) circular 옵션 결과 g = imfilter(f, w, ‘circular’);
(f) 입력클래스 uint8일때의 데이터손실 결과 마스크 계수의 합이 [0,1]의 범위에 없음