

operation--> Output imageh(x), outputg(x) (x는 벡터)a: gain, contrast (output에 input 영향O)b: bias, brightness (output에 input 영향X)Y (밝기)


h를 사용하는 operator (요새는 lienar/nonlinear 둘 다 filter라고 함)




Linear filtering as Convolution
- Convolution: 필터가 수직/수평으로 적용된 cross-correlation
- 각 픽셀끼리 곱한 것들 다 더함
(요새는 i+u, j+v도 convolution이라고 쳐준다..)- Symmetric kernels(상하좌우대칭): Gaussian, mean, Laplacian...
- Fourier transform으로 효율적으로 계산 가능
- k, l이 범위를 가지면 FIR필터




- High-pass filter: 원본
f- low frequencyh(blur)*f- Sharpening: high frequency 강조 ->
f+ 강조γ(f-h(blur)*f)

- sample 데이터 미분 -> 픽셀 값 차이를 미분 값으로 생각하는 discrete derivative (finite difference)

-> 각 축의 방향에서 밝아지면 하얀색, 어두워지면 검정색




u으로 얼마나 변하는가는 어떻게 알까 -> Directional derivativeu간의 내적(dot product)
u로만 Gaussian을 하고싶을 때
상하좌우의 합 - 자신의 4배)


σ1: 좁고 뾰족; 높은 주파수 약간만 사라짐 (거의 middle~low frequency)σ2: 넓고 평평; 높은 주파수 많이 사라짐 (거의 low frequency만 남음)
(Symmetric하기 때문에 가우시안의 차이 계산 후 I에 convolution하기 가능)

Typical Operators
- box(moving average, mean)
- bilinear (3x3)
- Gaussian
- Sobel
- Laplacian
h: interpolation kernelr: 배율 (이미지를 r배로 키운다)
(파란점이 원본이고, 빨간점이 예측한 값)
(b: bilinear, c: bicubic)
bi가 붙는 이유는 아래 이미지는 한 축만 고려한 것이고, 실제 이미지(2차원)에서는 x, y 두 축을 고려해야하므로 lienar/cubic 방법을 2번하므로- 그래서 실제로는 bilienar는 총 4개의 점이, bicubic은 총 16개의 점이 필요하다

(b의 원본 빨간값에 a의 빨간함수를 곱해서 파란값을 얻는건 up-sampling이고 반대로해서 a의 값과 비슷하게 만드는 과정이 down-sampling)
과제



L(l) = G(l; f) (걍 이미지에 Gaussian한 값) L(l) = G(l; f) - Upsampling(G(l+1; f)) ( 전단계 꺼 upsampling해서 뺀 거)
- Finest octave: high pass
- Middle octaves: band pass
- Lowest octave: low pass

-> exp(위치(거리)에 따른 가우시안과 픽셀값에 따른 가우시안의 차이)
- dilation: c>0 (범위 내에 1이 하나라도 있으면 해당 픽셀 1)
- erosion: c>=S (범위 내에 모든 픽셀이 1이면 해당 픽셀 1)
- majority: c>S/2 (범위 내에 1인 픽셀이 절반 이상이면 해당 픽셀 1)
- opening: dilate(erode())
- closing: erode(dilate())
(k, l) 기준으로 각 점마다 거리 중 min(얼마나 가까운가)
ex)
자기보다 어두운 픽셀이 없으면 -> 자신의 밝기 0로 조절
자기보다 어두운 픽셀이 50%면 -> 자신의 밝기를 0.5로 조절
전부 자기보다 어두운 픽셀이면 -> 자신의 밝기를 1로 조절


