강좌 & 팁
박두현의 컴퓨터 이론들 - 영역처리 : 회선(Convolution)
안녕하세요. 박두현 입니다.
오늘 이야기 할 것은 영상처리 중 영역처리(Area Processing)에 대한 이야기를 할까 합니다.
사실 최근에 너무 하는 것이 많아져서 바쁜데 이 영상처리에 대한 글을 어떻게 써야할지 하는 생각도 많은 고민이 됩니다.
그래도 일단 시작한 일이니 계속 해 보기는 하겠습니다.
1. 회선 (Convolution)
영역 처리에 대한 이야기를 하면서 처음 소개하고자 하는 것은 회선 입니다.
회선이란 원시 화소에 이웃한 화소들 각각의 가중치를 곱한 합을 반영하는 것을 말 합니다.
가중치를 계산하기 위해서 2차원 정방 행렬의 회선 마스크(또는 회선 커널)을 사용 합니다.
원시 화소가 중앙에 위치하도록 홀수 x 홀수 마스크를 사용 합니다.
주로 영상 스무딩(Smoothing), 영상강화(Enhancement), 엣지 검출(Edge detection)에 효과가 있습니다.
[그림1-1. 회선의 이해]
2. 경계부분 처리
Zero-Padding
- 회선 윈도우의 빈 셀들의 계수를 0으로 채움.
- 구현이 단순함.
- 영상의 끝 부분이 손실 됨.
Skip the border
- 제외된 부분의 결과는 근접해 있는 화소들의 결과 값을 복사.
- 구현이 단순.
Image Resizing
- 원 영상의 경계 부분을 복사하는 방법. (Border copy)
- 원 영상을 둘러싸는 방법. (Wrap-around)
[그림2-1. 경계부분 처리에 대한 이해]
3. Convolution in Color space
HSI 색상 공간에서 영상에 대한 밝기 채널에 대해 회선 수행
- 밝기 데이터에 대한 회선을 하고 RGB 색상 공간으로 변경.
- 원 색상을 보존하고자 하는 경우 유용.
RGB 영상의 각 채널에 대한 회선 수행
- 영상을 블러링 하는 경우에 유용.
4. 다음주에는...
오늘은 여기까지 하도록 하겠습니다. 한번에 너무 많은 것을 하려고 하면 혼돈스러우니까요.
다음주에는 이어서 블러링(Bluring)에 대해서 알아보도록 하겠습니다. 상당히 많이 사용되는 영상처리 기법 중 하나죠.
이 블러링에 대한 공식과 처리 방법을 소개하도록 하겠습니다.
그럼 다음주에 뵈요!