박두현의 컴퓨터 이론들 - 영역처리 : 회선(Convolution)

 

안녕하세요. 박두현 입니다.

오늘 이야기 할 것은 영상처리 중 영역처리(Area Processing)에 대한 이야기를 할까 합니다.

사실 최근에 너무 하는 것이 많아져서 바쁜데 이 영상처리에 대한 글을 어떻게 써야할지 하는 생각도 많은 고민이 됩니다.

그래도 일단 시작한 일이니 계속 해 보기는 하겠습니다.

1. 회선 (Convolution)

 

영역 처리에 대한 이야기를 하면서 처음 소개하고자 하는 것은 회선 입니다.

회선이란 원시 화소에 이웃한 화소들 각각의 가중치를 곱한 합을 반영하는 것을 말 합니다.

 

가중치를 계산하기 위해서 2차원 정방 행렬의 회선 마스크(또는 회선 커널)을 사용 합니다.

원시 화소가 중앙에 위치하도록 홀수 x 홀수 마스크를 사용 합니다.

주로 영상 스무딩(Smoothing), 영상강화(Enhancement), 엣지 검출(Edge detection)에 효과가 있습니다.

 

 Convolution_Exam1.png

[그림1-1. 회선의 이해]

 

2. 경계부분 처리

 

Zero-Padding

- 회선 윈도우의 빈 셀들의 계수를 0으로 채움.

- 구현이 단순함.

- 영상의 끝 부분이 손실 됨.

 

Skip the border

- 제외된 부분의 결과는 근접해 있는 화소들의 결과 값을 복사.

- 구현이 단순.

 

Image Resizing

- 원 영상의 경계 부분을 복사하는 방법. (Border copy)

- 원 영상을 둘러싸는 방법. (Wrap-around)

 

 

 Convolution_Exam2.png

[그림2-1. 경계부분 처리에 대한 이해]

 

3. Convolution in Color space

 

HSI 색상 공간에서 영상에 대한 밝기 채널에 대해 회선 수행

- 밝기 데이터에 대한 회선을 하고 RGB 색상 공간으로 변경.

- 원 색상을 보존하고자 하는 경우 유용.

 

RGB 영상의 각 채널에 대한 회선 수행

- 영상을 블러링 하는 경우에 유용.

 

4. 다음주에는...

 

오늘은 여기까지 하도록 하겠습니다. 한번에 너무 많은 것을 하려고 하면 혼돈스러우니까요.

다음주에는 이어서 블러링(Bluring)에 대해서 알아보도록 하겠습니다. 상당히 많이 사용되는 영상처리 기법 중 하나죠.

이 블러링에 대한 공식과 처리 방법을 소개하도록 하겠습니다.

그럼 다음주에 뵈요!