23
Digital Image Processing Computer Engineering, Sejong University 3. Image Enhancement in the Spatial Domain - Filters 2/46 w(-1,-1) w(-1,0) w(-1,1) w( 0,-1) w( 0,0) w( 0,1) w( 1,-1) w( 1,0) w( 1,1) f(x-1,y-1) f(x-1,y) f(x-1,y+1) f(x,y-1) f(x,y) f(x,y+1) f(x+1,y-1) f(x+ 1,y) f(x+ 1,y+1) 마스크(mask) Spatial Filtering

Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

Embed Size (px)

Citation preview

Page 1: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

Digital Image Processing

Computer Engineering, Sejong University

3. Image Enhancement in the Spatial Domain - Filters

2/46

w(-1,-1) w(-1,0) w(-1,1)

w( 0,-1) w( 0,0) w( 0,1)

w( 1,-1) w( 1,0) w( 1,1)

f(x-1,y-1) f(x-1,y) f(x-1,y+1)

f(x,y-1) f(x,y) f(x,y+1)

f(x+1,y-1) f(x+ 1,y) f(x+ 1,y+1)

마스크(mask)

Spatial Filtering

Page 2: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

3/46

Spatial Filtering

마스크(Mask)• 정방형의 2차원 행렬• m x n 크기를 가지며 m, n은 홀수 값을 가짐• Filter, mask, kernel, template, window라고도 함

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

Spatial filtering• 마스크의 각 위치에서 해당 계수 값과 대응하는 영상 값을각각 곱한 후 그 결과를 모두 더함

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

4/46

1차원 filtering의 예 : mask 크기가 1x3

∑−=

+=1

1),(),0(),(

ttyxftwyxg

)2,0()1,0()1,0()0,0()0,0()1,0()1,0( fwfwfwg ×+×+×−=

)3,0()1,0()2,0()0,0()1,0()1,0()2,0( fwfwfwg ×+×+×−=

f

w

g

0 1 0

0 1 0

Spatial Filtering

Page 3: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

5/46

1차원 filtering의 다른 예 : mask 크기가 1x3

∑−=

+=1

1),(),0(),(

ttyxftwyxg

)2,0()1,0()1,0()0,0()0,0()1,0()1,0( fwfwfwg ×+×+×−=

)3,0()1,0()2,0()0,0()1,0()1,0()2,0( fwfwfwg ×+×+×−=

f

w

g

-1 2 -1

-1 2 -1

Spatial Filtering

6/46

2차원 filtering의 예 : mask 크기가 3x3

∑−=

++∑−=

=11

1),(),(

1),(

ttysxftsw

syxg

)2,2()1,1()1,2()0,1()0,2()1,1()2,1()1,0()1,1()0,0()0,1()1,0()2,0()1,1()1,0()0,1()0,0()1,1()1,1(

fwfwfwfwfwfwfwfwfwg

×+×+×−+×+×+×−+×−+×−+×−−=

)9,4()1,1()8,4()0,1()7,4()1,1()9,3()1,0()8,3()0,0()7,3()1,0()9,2()1,1()8,2()0,1()7,2()1,1()8,3(

fwfwfwfwfwfwfwfwfwg

×+×+×−+×+×+×−+×−+×−+×−−=

Spatial Filtering

Page 4: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

7/46

∑−=

++∑−=

=ba

bttysxftsw

asyxg ),(),(),(

2차원 filtering: mask 크기가 mxn

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

그리고 영상의 크기를 MxN이라고 하면x= 0, 1, 2, …, M-1,y= 0, 1, 2, …, N-1 값을 갖는다.

Spatial Filtering

8/46

영상의 경계(border) 부분에서의 필터링• 영상이 존재하지 않는 부분의 화소를 0으로 가정(zero padding)• 회선 마스크 위치를 (0,0) 대신 (1,1)로 시작, 회선 마스크 마지막위치를 (M-1,N-1) 대신 (M-2, N-2)로 마무리. 즉 첫번째와마지막 row, column에 대해서는 회선을 수행하지 않음

• 영상이 존재하지 않는 화소를 옆에 있는 화소 값으로 사용• 같은 영상이 반복적을 둘러 쌓여 있음을 가정한 후 이 경우의화소값 사용(wrap around)

Spatial Filtering

Page 5: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

9/46

마스크의 계수 특성• 마스크의 계수의 합은 출력 영상의 밝기에 영향을 미침• 필터링 결과 영상의 밝기를 변경시키지 않기 위해서는 마스크 계수 값의

‘1’이 되어야 한다.• 마스크 계수 값의 합이 ‘1’ 보다 클 경우 회선 결과 영상은 원 영상보다밝아진다.

• 마스크 계수 값의 합이 ‘1’ 보다 작을 경우 회선 결과 영상은 원 영상보다어두워진다.

• 대부분의 계수 값의 합은 ‘1’.

Spatial Filtering

10/46

완만화(Smoothing)완만화(Smoothing)• 영상의 자세한 부분을 제거하거나 줄임• 필터링을 이용하여 구현• 마스크의 크기가 클수록 효과는 좋아짐• 영상 내에 존재하는 잡음 성분을 줄이는 데 효과적• 완만화 필터(Smoothing filter)의 종류

- 평균 필터(average filter)- 가중평균 필터(weighted average filter)- 저역 통과 필터(low-pass filter)

Page 6: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

11/46

완만화(Smoothing)평균 필터(Average filter)• 마스크 내의 화소 값의 평균을 출력으로 제공• 3x3 마스크의 경우 모든 계수가 1/9• 5x5 마스크의 경우 모든 계수가 1/25• 영상 내의 잡음 성분을 제거• 마스크의 크기가 클수록 영상이 흐려짐(blurring)

1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

1/25

12/46

평균 필터 적용 예

Page 7: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

13/46

완만화(Smoothing)가중 평균 필터(Weighted average filter)• 마스크 내의 중간 값에 대하여 가중치를 부여• 중앙에서 먼 계수 일수록 낮은 가중치 부여• 대표적인 가중 평균 필터 : 가우스 완만화 필터(Gaussian

smoothing filter)• σ 값으로 완만한 정도 조절

22

22

)22(

),(πσ

σyx

eyxw

+−

= 1/4

1/8

1/8

1/8

1/16

1/16

1/8

1/16

1/16

14/46

가중 평균 필터 적용 예

Page 8: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

15/46

선명화(Sharpening)선명화(Sharpening)• 완만화(smoothing)의 반대 개념• 영상의 자세한 부분(detail)을 강조• 영상의 부분적인 콘트라스트를 증가시킴• 영상의 경계 부분에 대한 대비 효과 증가시킴• 선명화 필터(Sharpening filter)의 종류

9

-1

-1

-1

-1

-1

-1

-1

-1

5

-1

-1

-1

0

0

-1

0

0

5

-2

-2

-2

1

1

-2

1

1

16/46

선명화(Sharpening)

Page 9: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

17/46

선명화(Sharpening)고역 통과 필터(High-pass filter)• 영상의 자세한 부분(detail) 만을 강조• 영상의 저주파 부분을 제거• 추후 원 신호와 합성하여 선명화 영상 생성• 고역 통과 필터(High-pass filter)의 종류

- 고역 통과 필터(high-pass filter)- 언샤프 마스킹(unsharp masking)- 고역 증대 필터(high-boost filter)

18/46

선명화(Sharpening)고역 통과 필터(high-pass filter)• 영상의 저주파 영역을 없앰 – 영상에서 천천히 변화하는 성분을없앰

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

• 영상의 경계 부분 등 세밀한 부분을 강조

8/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

Page 10: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

19/46

선명화(Sharpening)언샤프 마스킹(unsharp masking)• 영상의 원 영상에서 저역 통과된 영상을 뺌

• 고역 통과 필터와 같은 결과

4/5

-1/5

-1/5

-1/5

0

0

-1/5

0

0

),(),(),( yxpasslow

fyxorgfyxsharp

f −−=

8/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

20/46

선명화(Sharpening)언샤프 마스킹(unsharp masking)

3x3 MeanFilter

Saturator+

++

-

α

Lum. In Lum. Out

Edge Signal

Mean FilteringResult

Difference signal

Resulting Signal

Page 11: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

21/46

선명화(Sharpening)고역 증대 필터(high-boost filter)• 영상의 저주파수 영역을 통과시키면서 영상의 고주파수 영역을증대시킴

• A = 1인 경우 : unsharp masking• A > 1인 경우 : 저주파수 영역을 보존

w/5

-1/5

-1/5

-1/5

0

0

-1/5

0

0

),(),(),(_

yxpasslow

fyxorgfAyxboosthigh

f −−×=

w/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

-1/9

w = 9A-1w = 5A-1

22/46

선명화(Sharpening)

Page 12: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

23/46

Sharpening vs. Smoothing

24/46

미분 연산자(Derivative Operators)미분 연산자(Derivative Operators)• 영상의 1차 미분(first-order derivative)이나 2차 미분(second-

order derivative)을 이용하여 영상 내에 존재하는 에지 성분을검출

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

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

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

)()1( xfxfx

f −+=∂∂

)()1( yfyfy

f −+=∂∂

)(2)1()1(2

2xfxfxf

x

f −−++=∂

Page 13: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

25/46

미분 연산자(Derivative Operators)

26/46

미분 연산자(Derivative Operators)1차 미분 연산자(First-order derivative operators)• (x,y) 위치에서의 영상 f(x,y)의 기울기(gradient)는

• 기울기의 크기 값은

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

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂∂∂

=⎥⎥⎦

⎢⎢⎣

⎡=∇

y

fx

f

yGxG

f

)(1tan),(x

y

G

Gyx −=α

||||22)( yx GGoryGxGmagf ++=∇=∇ f

Page 14: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

27/46

미분 연산자(Derivative Operators)1차 미분 연산자의 특성• 행 검출기 Gx 와 열 검출기 Gy 로 구성

• 마스크의 계수의 합은 ‘0’• 1차 미분 연산자의 종류

1

0

0

0

-1

0

0

0

0

Gx

Roberts operator

Gy 1

0

0

0

0

0

0

-1

0

Prewitt operator

0

-1

1

0

-1

1

0

-1

1

0

0

0

-1

-1

-1

1

1

1

Sobeloperator

0

-2

2

0

-1

1

0

-1

1

0

0

0

-2

-1

-1

2

1

1

Frei-chenoperator

0

-

0

-1

1

0

-1

1

0

0

0

-

-1

-1

1

1

2

2

2

2

28/46

미분 연산자(Derivative Operators)1차 미분 연산자의 특성• Roberts operator

- 마스크의 크기가 작음- 잡음에 민감

• Prewitt operator- 널리 사용됨- 수평, 수직 방향의 에지를 찾는데 사용

• Sobel operator- 널리 사용됨- 수평, 수직 방향의 에지를 찾는데 사용- Prewitt operator에 비해서 대각선 방향(diagonal) 에지를 좀더 잘 찾음

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

Page 15: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

29/46

미분 연산자(Derivative Operators)

30/46

미분 연산자(Derivative Operators)

Page 16: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

31/46

미분 연산자(Derivative Operators)

32/46

미분 연산자(Derivative Operators)라플라시안(Laplacian)• 정의

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

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

• 최종 결과

),(2),1(),1(2

2yxfyxfyxf

x

f−−++=

),(2)1,()1,(2

2yxfyxfyxf

y

f−−++=

2

2

2

22

y

f

x

ff

∂+

∂=∇

),(4)]1,()1,(),1(),1([2 yxfyxfyxfyxfyxff −−+++−++=∇

Page 17: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

33/46

미분 연산자(Derivative Operators)라플라시안(Laplacian) 연산자의 특성• 1차 미분 연산자보다 에지 검출 성능 우수• 영상의 에지 영역에서 라플라시안 값의 부호 변화가 생김• 잡음 성분에 매우 민감• 이중 에지를 생성• 에지의 방향은 검출하지 못함• 라플라시안 연산자의 종류

-4

1

1

1

0

0

1

0

0

4

-1

-1

-1

0

0

-1

0

0

-8

1

1

1

1

1

1

1

1

8

-1

-1

-1

-1

-1

-1

-1

-1

34/46

미분 연산자(Derivative Operators)라플라시안(Laplacian) 을 이용한 화질 개선• 라플라시안 결과를 원 영상에 더하거나 뺌

• 복합 라플라시안 마스크(composite laplacian mask)

5

-1

-1

-1

0

0

-1

0

0

9

-1

-1

-1

-1

-1

-1

-1

-1

⎪⎩

⎪⎨⎧

∇+

∇−=

),(2),(

),(2),(),(

yxfyxf

yxfyxfyxg

라플라시안 마스크의 중간계수가 음수인 경우

라플라시안 마스크의 중간계수가 양수인 경우

Page 18: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

35/46

미분 연산자(Derivative Operators)

36/46

미분 연산자(Derivative Operators)

Page 19: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

37/46

미분 연산자(Derivative Operators)

38/46

미분 연산자(Derivative Operators)LoG(Laplacian of Gaussian)• 잡음에 민감한 라플라시안의 특성으로 인해서 실제 적용에는 문제• 라플라시안을 적용하기 이전에 먼저 가우스 완만화 필터(Gaussian

smoothing filter)를 적용하여 잡음 제거• 완만화에 사용하는 가우스 함수의 예

• LoG(Laplacian of Gaussian)

deviationstandardisandyxrwhereerhr

σσ 222,)(2

2

2 +=−=−

2

2

24

22)(2 σ

σ

σr

er

rh−

⎥⎥⎦

⎢⎢⎣

⎡ −−=∇

Page 20: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

39/46

미분 연산자(Derivative Operators)

40/46

미분 연산자(Derivative Operators)LoG(Laplacian of Gaussian)• 모양으로 인해서 멕시칸 모자 함수(Mexican hat function)으로불림

• σ 값이 커지면 함수의 최대값이 작아지고 넓어짐• σ 값이 작아지면 함수의 최대값이 커지고 좁아짐• 폭이 넓어지면 에지가 넓게 검출• 폭이 좁아지면 급격한 에지를 검출• 라플라시안 연산자와 달리 잡음에 강함• 인간의 시각 특성과 유사

2

2

24

22)(2 σ

σ

σr

er

rh−

⎥⎥⎦

⎢⎢⎣

⎡ −−=∇

Page 21: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

41/46

sobel

미분 연산자(Derivative Operators)

original

gaussiansmoothing

laplacian

LoGZero

crossing

42/46

미디언 필터링(Median Filtering)미디언 필터링(Median Filtering)• 마스크 내에 존재하는 화소들을 정렬(sorting) 한 후 중간에위치하는 화소 값을 출력으로 사용

• 비선형 연산자(nonlinear operator)임• 영상의 에지 영역을 보존하면서 잡음 제거 가능• 임펄스 잡음(impulse noise)를 제거하는 데에 효과적

- impulse noise : salt-and-pepper noise라고도 함- 영상에 희고 검은 점들이 찍힌 현상

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

Page 22: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

43/46

미디언 필터링(Median Filtering)

5

6

3

4

5

5

13

29

7

6

26

27

9

5

8

6

5

5

9

45

9

28

27

31

7

6

15

32

32

33

5 6 267

8

6

9

6

28

27

15

9

A

B

미디언 필터링(Median Filtering)• A 연산 : median {3, 5, 5, 4, 6, 5, 5, 5, 45}

= median {3, 4, 5, 5, 5, 5, 5, 6, 45} = 5• B 연산 : median {6, 5, 6, 5, 45, 6, 9, 9, 7}

= median {5, 5, 6, 6, 6, 7, 9, 9, 45} = 6

44/46

미디언 필터링(Median Filtering)Application에 따른 미디언 필터의 종류

Page 23: Digital Image Processingdasan.sejong.ac.kr/~dihan/dip/D04_SpatialFilters_note.pdf ·  · 2006-03-273/46 Spatial Filtering 마스크(Mask) • 정방형의2차원행렬 •m x n 크기를가지며m,

45/46

미디언 필터링(Median Filtering)

46/46

CTI (Color Transient Improvement)Start

in > (max+min)/2

out = max

T F

Horizontal 9 tap MAX/MIN Filtering:max, min

out = min

in < (max+min)/2T F

End

in > (max+min)/2

out = max

T F

Vertical 9 tap MAX/MIN Filtering:max, min

out = min

in < (max+min)/2T F

HorizontalProcessing

VerticallProcessing

N/2

MAX filter output

MIN filter output

Average of Min and Max filter outputs

Original signal

Crossingpoint

MAX filter output

MIN filter output

Filter input

out = in

out = in