Linear filtering
같은 weight 세트를 각 지점에서 사용하여 원래 pixel 값의 weighted 합으로 이루어진 새로운 이미지를 생성한다
linear filtering은 output의 image 위치가 변하지 않는다 (shift-invariant)
Convolution
convolution은 kernel K와 input image I를 곱하여 각 픽셀에 대한 결과를 구한다
이때 크기가 줄어드므로 zero padding을 한다
Blurring Images
Average filter (box filter)
양수를 가지고 합이 1이다
각 픽셀을 이웃의 평균값으로 대체한다
모든 가중치가 같은 경우를 box filter라고 한다
Gaussian Smoothing
average는 kernel size가 늘어나면 값이 변하지만, gaussian은 kernel size에 영향을 받지 않는다
모양을 결정하는 것은 varient \(\sigma\)
일반적으로는 전체 합이 1이지만, 정확하지는 않아 normalize를 해야한다
Using Gradient
1차 미분의 경우 edge의 특징을 찾을 수 있다
어디서 edge가 크게 변하는지를 알 수 있다
2차 미분은 한 방향에 대해서만 되므로 x,y 각각 방향에 대해 편미분을 진행한다
두 방향을 magnitude해서 크기를 구한다
1차 미분은 DoG(Derivative fo Gaussian)이라고 하고
2차 미분은 DOG(Difference Of Gaussian)이라고 한다
Laplacian Filter Approximation
gaussian에서 delta function을 빼는 것으로 laplacian과 비슷하게 표현할 수 있다
이를 LoG(Laplacian of Gaussian)이라고 하며 계산이 더 저렴하다
Non-Linear Filters
Median Filter
window에서 intensity 크기 순서대로 정렬했을 때 중간값을 취하는 방법이다
median filter는 linear filter에 비해서
salt & pepper noise와 같은 spike를 완전히 제거하고
불연속성을 보존한다 즉 edge가 살아있다
Image Processing in Frequency Domain
DFT 푸리에 변환을 이용한 filtering에는 다음과 같은 것들이 있다
Low Pass Filtering
ring 모양이 아티팩트가 생기는 halo effect 발생
High Pass Fitlering
Bandreject Filtering
지정된 특정 구역만을 block한다