25.10.2014 Views

Digital Image Processing

Digital Image Processing

Digital Image Processing

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Digital</strong> <strong>Image</strong> <strong>Processing</strong><br />

3. <strong>Image</strong> Enhancement in the<br />

Spatial Domain - Filters<br />

Computer Engineering, Sejong University<br />

Spatial Filtering<br />

마스크(mask)<br />

w(-1,-1) w(-1,0) w(-1,1)<br />

w( 0,-1) w( 0,0) w( 0,1)<br />

w( 1,-1) w( 1,0) w( 1,1)<br />

f(x-1,y-1) f(x-1,y)<br />

f(x-1,y+1)<br />

f(x,y-1) f(x,y) f(x,y+1)<br />

f(x+1,y-1) f(x+ 1,y) f(x+ 1,y+1)<br />

2/46


Spatial Filtering<br />

마스크(Mask)<br />

• 정방형의 2차원 행렬<br />

• m x n 크기를 가지며 m, n은 홀수값을가짐<br />

• Filter, mask, kernel, template, window라고도 함<br />

계수(coefficient)<br />

• 마스크 내의 값은 화소라 하지 않고 계수(coefficient)라고 함<br />

Spatial filtering<br />

• 마스크의 각 위치에서 해당 계수 값과 대응하는 영상 값을<br />

각각 곱한 후 그 결과를 모두 더함<br />

• 마스크의 중앙에 위치가 출력 화소의 해당 위치가 됨<br />

3/46<br />

Spatial Filtering<br />

1차원 filtering의 예: mask 크기가 1x3<br />

f<br />

w<br />

g<br />

g(<br />

x,<br />

y)<br />

= ∑ 1 w(0,<br />

t)<br />

f ( x,<br />

y + t)<br />

t = − 1<br />

g ( 0,1) = w(0,<br />

−1)<br />

× f (0,0) + w(0,0)<br />

× f (0,1) + w(0,1)<br />

× f (0,2)<br />

0 1 0<br />

g ( 0,2) = w(0,<br />

−1)<br />

× f (0,1) + w(0,0)<br />

× f (0,2) + w(0,1)<br />

× f (0,3)<br />

0 1 0<br />

4/46


Spatial Filtering<br />

1차원 filtering의 다른예: mask 크기가 1x3<br />

f<br />

w<br />

g<br />

g(<br />

x,<br />

y)<br />

= ∑ 1 w(0,<br />

t)<br />

f ( x,<br />

y + t)<br />

t = − 1<br />

g ( 0,1) = w(0,<br />

−1)<br />

× f (0,0) + w(0,0)<br />

× f (0,1) + w(0,1)<br />

× f (0,2)<br />

-1 2 -1<br />

g ( 0,2) = w(0,<br />

−1)<br />

× f (0,1) + w(0,0)<br />

× f (0,2) + w(0,1)<br />

× f (0,3)<br />

-1 2 -1<br />

5/46<br />

Spatial Filtering<br />

2차원 filtering의 예: mask 크기가 3x3<br />

1<br />

1<br />

g(<br />

x,<br />

y)<br />

= ∑ ∑w(<br />

s,<br />

t)<br />

f ( x+<br />

s,<br />

y + t)<br />

s = − 1 t = − 1<br />

g(1,1)<br />

= w(<br />

−1,<br />

−1)<br />

× f (0,0) + w(<br />

−1,0)<br />

× f (0,1) + w(<br />

−1,1)<br />

× f (0,2)<br />

+ w(<br />

0, −1)<br />

× f (1,0) + w(<br />

0,0) × f (1,1) + w(<br />

0,1) × f (1,2)<br />

+ w(<br />

1, −1)<br />

× f (2,0) + w(<br />

1,0) × f (2,1) + w(<br />

1,1) × f (2,2)<br />

g(3,8)<br />

= w(<br />

−1,<br />

−1)<br />

× f (2,7) + w(<br />

−1,0)<br />

× f (2,8) + w(<br />

−1,1)<br />

× f (2,9)<br />

+ w(<br />

0, −1)<br />

× f (3,7) + w(<br />

0,0) × f (3,8) + w(<br />

0,1) × f (3,9)<br />

+ w(<br />

1, −1)<br />

× f (4,7) + w(<br />

1,0) × f (4,8) + w(<br />

1,1) × f (4,9)<br />

6/46


2차원 filtering: mask 크기가 mxn<br />

a<br />

Spatial Filtering<br />

b<br />

g ( x,<br />

y)<br />

= ∑ ∑w(<br />

s,<br />

t)<br />

f ( x + s,<br />

y + t)<br />

s = − a t = − b<br />

여기서 a = (m-1)/2, b = (n-1)/2이다.<br />

그리고 영상의 크기를 MxN이라고 하면<br />

x= 0, 1, 2, …, M-1,<br />

y= 0, 1, 2, …, N-1 값을 갖는다.<br />

7/46<br />

Spatial Filtering<br />

영상의 경계(border) 부분에서의 필터링<br />

• 영상이 존재하지 않는 부분의 화소를 0으로 가정(zero padding)<br />

• 회선 마스크 위치를 (0,0) 대신 (1,1)로 시작, 회선 마스크 마지막<br />

위치를 (M-1,N-1) 대신 (M-2, N-2)로 마무리. 즉 첫번째와<br />

마지막 row, column에 대해서는 회선을 수행하지 않음<br />

• 영상이 존재하지 않는 화소를 옆에 있는 화소 값으로 사용<br />

• 같은 영상이 반복적을 둘러 쌓여 있음을 가정한 후이경우의<br />

화소값 사용(wrap around)<br />

8/46


Spatial Filtering<br />

마스크의계수특성<br />

• 마스크의 계수의 합은 출력 영상의 밝기에 영향을 미침<br />

• 필터링 결과 영상의 밝기를 변경시키지 않기 위해서는 마스크 계수 값의<br />

‘1’이 되어야 한다.<br />

• 마스크 계수 값의 합이 ‘1’ 보다 클 경우 회선 결과 영상은 원 영상보다<br />

밝아진다.<br />

• 마스크 계수 값의 합이 ‘1’ 보다 작을 경우 회선 결과 영상은 원 영상보다<br />

어두워진다.<br />

• 대부분의 계수 값의 합은 ‘1’.<br />

9/46<br />

완만화(Smoothing)<br />

완만화(Smoothing)<br />

• 영상의 자세한 부분을 제거하거나 줄임<br />

• 필터링을 이용하여 구현<br />

• 마스크의 크기가 클수록 효과는 좋아짐<br />

• 영상 내에 존재하는 잡음 성분을 줄이는 데 효과적<br />

• 완만화 필터(Smoothing filter)의 종류<br />

- 평균 필터(average filter)<br />

- 가중평균 필터(weighted average filter)<br />

- 저역 통과 필터(low-pass filter)<br />

10/46


완만화(Smoothing)<br />

평균 필터(Average filter)<br />

• 마스크 내의 화소 값의 평균을 출력으로 제공<br />

• 3x3 마스크의 경우 모든 계수가 1/9<br />

• 5x5 마스크의 경우 모든 계수가 1/25<br />

• 영상 내의 잡음 성분을 제거<br />

• 마스크의 크기가 클수록 영상이 흐려짐(blurring)<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/9<br />

1/9<br />

1/9<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/9<br />

1/9<br />

1/9<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/9<br />

1/9<br />

1/9<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

1/25<br />

11/46<br />

평균 필터 적용 예<br />

12/46


완만화(Smoothing)<br />

가중 평균 필터(Weighted average filter)<br />

• 마스크 내의 중간 값에 대하여 가중치를 부여<br />

• 중앙에서 먼 계수 일수록 낮은 가중치 부여<br />

• 대표적인가중평균필터: 가우스 완만화 필터(Gaussian<br />

smoothing filter)<br />

• σ 값으로 완만한 정도 조절<br />

−(<br />

x<br />

2<br />

+ y<br />

2<br />

)<br />

2<br />

2<br />

e σ<br />

w(<br />

x,<br />

y)<br />

=<br />

2πσ<br />

2<br />

1/16<br />

1/8<br />

1/16<br />

1/8<br />

1/4<br />

1/8<br />

1/16<br />

1/8<br />

1/16<br />

13/46<br />

가중 평균 필터 적용 예<br />

14/46


선명화(Sharpening)<br />

선명화(Sharpening)<br />

• 완만화(smoothing)의 반대개념<br />

• 영상의 자세한 부분(detail)을 강조<br />

• 영상의 부분적인 콘트라스트를 증가시킴<br />

• 영상의 경계 부분에 대한 대비 효과 증가시킴<br />

• 선명화 필터(Sharpening filter)의 종류<br />

-1<br />

-1<br />

-1<br />

0<br />

-1<br />

0<br />

1<br />

-2<br />

1<br />

-1<br />

9<br />

-1<br />

-1<br />

5<br />

-1<br />

-2<br />

5<br />

-2<br />

-1<br />

-1<br />

-1<br />

0<br />

-1<br />

0<br />

1<br />

-2<br />

1<br />

15/46<br />

선명화(Sharpening)<br />

16/46


선명화(Sharpening)<br />

고역 통과 필터(High-pass filter)<br />

• 영상의 자세한 부분(detail) 만을 강조<br />

• 영상의 저주파 부분을 제거<br />

• 추후 원 신호와 합성하여 선명화 영상 생성<br />

• 고역 통과 필터(High-pass filter)의 종류<br />

- 고역 통과 필터(high-pass filter)<br />

- 언샤프 마스킹(unsharp masking)<br />

- 고역 증대 필터(high-boost filter)<br />

17/46<br />

선명화(Sharpening)<br />

고역 통과 필터(high-pass filter)<br />

• 영상의 저주파 영역을 없앰 – 영상에서 천천히 변화하는 성분을<br />

없앰<br />

• 영상의 고주파 영역을 보존 – 영상에서 빠르게 변화하는 성분을<br />

보존<br />

• 영상의 경계 부분 등 세밀한 부분을 강조<br />

-1/9<br />

-1/9<br />

-1/9<br />

-1/9<br />

8/9<br />

-1/9<br />

-1/9<br />

-1/9<br />

-1/9<br />

18/46


선명화(Sharpening)<br />

언샤프 마스킹(unsharp masking)<br />

• 영상의 원 영상에서 저역 통과된 영상을 뺌<br />

f ( x,<br />

y)<br />

= f<br />

org<br />

( x,<br />

y)<br />

− f ( x,<br />

y)<br />

sharp<br />

low−<br />

pass<br />

• 고역 통과 필터와 같은 결과<br />

0<br />

-1/5<br />

0<br />

-1/9<br />

-1/9<br />

-1/9<br />

-1/5<br />

4/5<br />

-1/5<br />

-1/9<br />

8/9<br />

-1/9<br />

0<br />

-1/5<br />

0<br />

-1/9<br />

-1/9<br />

-1/9<br />

19/46<br />

선명화(Sharpening)<br />

언샤프 마스킹(unsharp masking)<br />

Lum. In<br />

3x3 Mean<br />

Filter<br />

-<br />

+<br />

+<br />

+<br />

Saturator<br />

Lum. Out<br />

α<br />

Edge Signal<br />

Difference signal<br />

Mean Filtering<br />

Result<br />

Resulting Signal<br />

20/46


선명화(Sharpening)<br />

고역 증대 필터(high-boost filter)<br />

• 영상의 저주파수 영역을 통과시키면서 영상의 고주파수 영역을<br />

증대시킴<br />

f ( x,<br />

y)<br />

high_<br />

boost<br />

=<br />

A×<br />

f<br />

org<br />

( x,<br />

y)<br />

−<br />

f ( x,<br />

y)<br />

low−<br />

pass<br />

• A = 1인경우: unsharp masking<br />

• A > 1인경우: 저주파수 영역을 보존<br />

0<br />

-1/5<br />

0<br />

-1/9<br />

-1/9<br />

-1/9<br />

-1/5<br />

w/5<br />

-1/5<br />

-1/9<br />

w/9<br />

-1/9<br />

0<br />

-1/5<br />

0<br />

-1/9<br />

-1/9<br />

-1/9<br />

w = 5A-1<br />

w = 9A-1<br />

21/46<br />

선명화(Sharpening)<br />

22/46


Sharpening vs. Smoothing<br />

23/46<br />

미분 연산자(Derivative Operators)<br />

미분 연산자(Derivative Operators)<br />

• 영상의 1차 미분(first-order derivative)이나 2차 미분(secondorder<br />

derivative)을 이용하여 영상 내에 존재하는 에지 성분을<br />

검출<br />

• 1차, 2차 미분 연산을 다양한 값의 디지털 값으로 근사화<br />

• 1차 편미분 연산자(first-order partial derivative)<br />

∂f<br />

∂x<br />

=<br />

f ( x+<br />

1) − f ( x)<br />

∂f<br />

∂y<br />

=<br />

f ( y + 1) − f ( y)<br />

• 2차 편미분 연산자(second-order partial derivative)<br />

∂<br />

2<br />

f<br />

= f ( x+<br />

1) + f ( x−1)<br />

− 2 f ( x)<br />

∂x<br />

2<br />

24/46


미분 연산자(Derivative Operators)<br />

25/46<br />

미분 연산자(Derivative Operators)<br />

1차 미분연산자(First-order derivative operators)<br />

• (x,y) 위치에서의 영상 f(x,y)의 기울기(gradient)는<br />

⎡∂f<br />

⎤<br />

⎡G<br />

x ⎤ ⎢∂x<br />

⎥<br />

∇f<br />

= ⎢ ⎥ = ⎢ ⎥<br />

⎢G<br />

⎥ ⎢∂<br />

⎣ y<br />

f<br />

⎦ ⎥<br />

⎢⎣<br />

∂y<br />

⎥⎦<br />

• 기울기의크기값은<br />

∇f = mag( ∇f<br />

) = G<br />

2 2<br />

x<br />

+ G<br />

y<br />

or | G x | + | Gy<br />

|<br />

• (x,y) 위치에서의 영상의 기울기를 α(x,y)라고 하면<br />

G<br />

α(<br />

x,<br />

y)<br />

= tan<br />

−1<br />

(<br />

G<br />

26/46<br />

y<br />

x<br />

)


미분 연산자(Derivative Operators)<br />

1차 미분 연산자의 특성<br />

• 행 검출기 G x 와 열 검출기 G y 로구성<br />

• 마스크의 계수의 합은 ‘0’<br />

• 1차 미분 연산자의 종류<br />

Roberts<br />

Prewitt<br />

Sobel<br />

Frei-chen<br />

operator<br />

operator<br />

operator<br />

operator<br />

-1<br />

0<br />

0<br />

-1<br />

-1<br />

-1<br />

-1<br />

-2<br />

-1<br />

-1<br />

-<br />

2<br />

-1<br />

G x<br />

0<br />

1<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

1<br />

1<br />

1<br />

2<br />

1<br />

1<br />

2<br />

1<br />

0<br />

0<br />

-1<br />

-1<br />

0<br />

1<br />

-1<br />

0<br />

1<br />

-1<br />

0<br />

1<br />

G y<br />

0 1<br />

0<br />

-1<br />

0<br />

1<br />

-2<br />

0<br />

2<br />

-<br />

2<br />

0<br />

2<br />

0<br />

0<br />

0<br />

-1<br />

0<br />

1<br />

-1<br />

0<br />

1<br />

-1<br />

0<br />

1<br />

27/46<br />

미분 연산자(Derivative Operators)<br />

1차 미분 연산자의 특성<br />

• Roberts operator<br />

- 마스크의 크기가 작음<br />

- 잡음에 민감<br />

• Prewitt operator<br />

- 널리 사용됨<br />

- 수평, 수직 방향의 에지를 찾는데 사용<br />

• Sobel operator<br />

- 널리 사용됨<br />

- 수평, 수직 방향의 에지를 찾는데 사용<br />

- Prewitt operator에 비해서 대각선 방향(diagonal) 에지를 좀<br />

더잘찾음<br />

- Prewitt operator에 비해서 잡음 제거 특성이 조금 우수<br />

28/46


미분 연산자(Derivative Operators)<br />

29/46<br />

미분 연산자(Derivative Operators)<br />

30/46


미분 연산자(Derivative Operators)<br />

31/46<br />

미분 연산자(Derivative Operators)<br />

라플라시안(Laplacian)<br />

• 정의<br />

∇<br />

2<br />

f =<br />

∂<br />

2<br />

f<br />

∂x<br />

2<br />

+<br />

∂<br />

2<br />

f<br />

∂y<br />

2<br />

• 디지털 근사화: x 방향 2차 편미분<br />

∂<br />

2<br />

f<br />

∂x<br />

2<br />

= f ( x + 1, y)<br />

+ f ( x −1,<br />

y)<br />

• 디지털 근사화: y 방향 2차 편미분<br />

∂<br />

2<br />

f<br />

∂y<br />

2<br />

= f ( x,<br />

y + 1) + f ( x,<br />

y −1)<br />

• 최종 결과<br />

−<br />

−<br />

2 f ( x,<br />

y)<br />

2 f ( x,<br />

y)<br />

∇<br />

2<br />

f<br />

=<br />

[ f ( x + 1, y)<br />

+<br />

f ( x −1,<br />

y)<br />

+<br />

f ( x,<br />

y + 1) +<br />

f ( x,<br />

y −1)]<br />

− 4 f ( x,<br />

y)<br />

32/46


미분 연산자(Derivative Operators)<br />

라플라시안(Laplacian) 연산자의 특성<br />

• 1차 미분 연산자보다 에지 검출 성능 우수<br />

• 영상의 에지 영역에서 라플라시안 값의 부호 변화가 생김<br />

• 잡음 성분에 매우 민감<br />

• 이중 에지를 생성<br />

• 에지의 방향은 검출하지 못함<br />

• 라플라시안 연산자의 종류<br />

0 1 0 1 1 1<br />

1<br />

-4<br />

1<br />

1<br />

-8<br />

1<br />

0<br />

1<br />

0<br />

1<br />

1<br />

1<br />

0<br />

-1<br />

0<br />

-1<br />

-1<br />

-1<br />

-1<br />

4<br />

-1<br />

-1<br />

8<br />

-1<br />

0<br />

-1<br />

0<br />

-1<br />

-1<br />

-1<br />

33/46<br />

미분 연산자(Derivative Operators)<br />

라플라시안(Laplacian) 을 이용한 화질 개선<br />

• 라플라시안 결과를 원 영상에 더하거나 뺌<br />

⎧<br />

⎪ f ( x,<br />

y)<br />

− ∇<br />

2<br />

f ( x,<br />

y)<br />

g(<br />

x,<br />

y)<br />

= ⎨<br />

⎪⎩ f ( x,<br />

y)<br />

+ ∇<br />

2<br />

f ( x,<br />

y)<br />

라플라시안 마스크의 중간<br />

계수가 음수인 경우<br />

라플라시안 마스크의 중간<br />

계수가 양수인 경우<br />

• 복합 라플라시안 마스크(composite laplacian mask)<br />

0<br />

-1<br />

0<br />

-1<br />

-1<br />

-1<br />

-1<br />

5<br />

-1<br />

-1<br />

9<br />

-1<br />

0<br />

-1<br />

0<br />

-1<br />

-1<br />

-1<br />

34/46


미분 연산자(Derivative Operators)<br />

35/46<br />

미분 연산자(Derivative Operators)<br />

36/46


미분 연산자(Derivative Operators)<br />

37/46<br />

미분 연산자(Derivative Operators)<br />

LoG(Laplacian of Gaussian)<br />

• 잡음에 민감한 라플라시안의 특성으로 인해서 실제 적용에는 문제<br />

• 라플라시안을 적용하기 이전에 먼저 가우스 완만화 필터(Gaussian<br />

smoothing filter)를 적용하여 잡음 제거<br />

• 완만화에 사용하는 가우스 함수의 예<br />

h(<br />

r)<br />

= −e<br />

2<br />

−r<br />

2<br />

2 σ + y<br />

2<br />

, where r<br />

2<br />

= x<br />

2<br />

and σ is standard<br />

deviation<br />

• LoG(Laplacian of Gaussian)<br />

2<br />

2<br />

2 ⎡<br />

−r<br />

r −σ<br />

⎤<br />

2<br />

2 σ<br />

∇ h(<br />

r)<br />

= −⎢<br />

⎢⎣<br />

σ<br />

4<br />

2<br />

⎥ e<br />

⎥⎦<br />

38/46


미분 연산자(Derivative Operators)<br />

39/46<br />

미분 연산자(Derivative Operators)<br />

LoG(Laplacian of Gaussian)<br />

• 모양으로 인해서 멕시칸 모자 함수(Mexican hat function)으로<br />

불림<br />

• σ 값이 커지면 함수의 최대값이 작아지고 넓어짐<br />

• σ 값이 작아지면 함수의 최대값이 커지고 좁아짐<br />

• 폭이 넓어지면 에지가 넓게 검출<br />

• 폭이 좁아지면 급격한 에지를 검출<br />

• 라플라시안 연산자와 달리 잡음에 강함<br />

• 인간의 시각 특성과 유사<br />

2<br />

2<br />

2 ⎡<br />

−r<br />

r −σ<br />

⎤<br />

2<br />

2 σ<br />

∇ h(<br />

r)<br />

= −⎢<br />

⎢⎣<br />

σ<br />

4<br />

2<br />

⎥e<br />

⎥⎦<br />

40/46


미분 연산자(Derivative Operators)<br />

original<br />

sobel<br />

gaussian<br />

smoothing<br />

laplacian<br />

LoG<br />

Zero<br />

crossing<br />

41/46<br />

미디언 필터링(Median Filtering)<br />

미디언 필터링(Median Filtering)<br />

• 마스크 내에 존재하는 화소들을 정렬(sorting) 한 후 중간에<br />

위치하는 화소 값을 출력으로 사용<br />

• 비선형 연산자(nonlinear operator)임<br />

• 영상의 에지 영역을 보존하면서 잡음 제거 가능<br />

• 임펄스 잡음(impulse noise)를 제거하는 데에 효과적<br />

- impulse noise : salt-and-pepper noise라고도 함<br />

- 영상에 희고 검은 점들이 찍힌 현상<br />

• 참고 : 저역 통과 필터(low-pass filter)는 가우시안 잡음 제거에<br />

적합<br />

42/46


미디언 필터링(Median Filtering)<br />

미디언 필터링(Median Filtering)<br />

• A 연산 : median {3, 5, 5, 4, 6, 5, 5, 5, 45}<br />

= median {3, 4, 5, 5, 5, 5, 5, 6, 45} = 5<br />

• B 연산 : median {6, 5, 6, 5, 45, 6, 9, 9, 7}<br />

= median {5, 5, 6, 6, 6, 7, 9, 9, 45} = 6<br />

3<br />

5<br />

5<br />

7<br />

13<br />

26<br />

A<br />

4<br />

6<br />

5<br />

6<br />

29<br />

27<br />

5 6 7 26<br />

5<br />

6<br />

5<br />

9<br />

45<br />

9<br />

6<br />

7<br />

27<br />

28<br />

32<br />

32<br />

B<br />

6<br />

8<br />

6<br />

9<br />

9<br />

15<br />

27<br />

28<br />

5<br />

8<br />

9<br />

15<br />

31<br />

33<br />

43/46<br />

미디언 필터링(Median Filtering)<br />

Application에 따른 미디언 필터의 종류<br />

44/46


미디언 필터링(Median Filtering)<br />

45/46<br />

CTI (Color Transient Improvement)<br />

Start<br />

Horizontal 9 tap MAX/MIN Filtering:<br />

max, min<br />

Horizontal<br />

<strong>Processing</strong><br />

Filter input<br />

N/2<br />

MAX filter output<br />

MIN filter output<br />

T<br />

in > (max+min)/2<br />

F<br />

out = max<br />

out = min<br />

T<br />

in < (max+min)/2<br />

F<br />

out = in<br />

Original signal<br />

Crossing<br />

point<br />

Average of Min and<br />

Max filter outputs<br />

Vertical 9 tap MAX/MIN Filtering:<br />

max, min<br />

Verticall<br />

<strong>Processing</strong><br />

T<br />

in > (max+min)/2<br />

F<br />

MAX filter output<br />

out = max<br />

T<br />

in < (max+min)/2<br />

F<br />

MIN filter output<br />

out = min<br />

out = in<br />

End<br />

46/46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!