개발/Computer Vision

[영상 처리] 이진 영상

hojak99 2016. 7. 13. 12:40

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다.



이진화란? 영상을 백(전경)과 흑(배경)의 두 가지 값만 가지도록 하는 것이다.


이진화는 값이 크면 백으로, 작으면 흑으로 바꾸는 간단한 방법이 있는데 값이 크고 작은 것을 어떤 기준으로 구분할지에 대해서는 두 구간을 가르는 

임계값(threshold)을 사용하면 된다. 임계값을 T라고 표기했을 때 임계값을 구하는 방법으로 가장 쉬운 방법은 히스토그램을 분석하여 두 봉우리 사이의 계곡 지점을 T라고 하면 된다.

 이렇게 임계값 T를 이용해서 이진 영상을 만드는 가장 간단한 방법은 히스토그램을 분석하여 임계값 T보다 큰 화소는 백(1 또는 L-1), 작은 화소는 흑(0) 으로 바꾸는 것이다. 

[그림 1] 이진화 과정의 수식



[그림 1]의 식은 명암 영상 f를 이진 영상 b로 변환하는 이진화 과정을 수식으로 보여준다.

[그림 2]는 어떤 영상의 히스토그램이다. 원래 영상에서는 명암 0을 갖는 영역이 무척 넓어서 다른 곳을 강조하기 위해 그 칸의 값을 0으로 바꾼 히스토그램이다. 여기서 계곡이 있는 부분은 대략 0과 125 ㄱ근처에 봉우리가 있고 50 근방에 계곡이 있기 때문에 50을 임계값 T로 설정하고 이진화를 수행한다면 [그림 2]에서 오른쪽과 같은 그림이 된다. 

[그림 2] 이진화

출처 : 컴퓨터 비전 도서




여기서 임계값을 설정하는 것은 직접 히스토그램을 보고 눈대중으로 계곡 지점을 알아내어 임계값을 설정하는데 이런 문제점을 해결하기 위한 오츄 알고리즘이 있다. 

다음 글에소는 효과적인 이진화 알고리즘인 오츄 알고리즘에 대해서 글을 쓰겠다.

반응형