검색결과 리스트
Threshold에 해당되는 글 1건
- 2014.10.09 이진영상
글
이진영상
이진영상이란?
영상이 백과 흑 혹은 0과 1과 같이 두 가지 값만 가진 영상을 말한다.
어떻게 화소의 명암값을 흑과 백 중의 하나로 결정할 수 있을까?
간단한 방법은 값이 크면 백으로, 작으면 흑으로 바꾸는 것이다. 하지만 크고 작고를 어떻게
구분할지에 대한 의문이 남는다. 결국 두 구간을 가르는 임계값(Threshold) T가 필요한데,
가장 간단한 방법은 히스토그램을 분석하여 두 봉우리 사이의 계곡 지점을 T로 취하고
그것보다 큰 화소는 백(1)으로 그렇지 않는 화소는 흑(0)으로 바꾸는 것이다.
아래와 같은 수식으로 표현 가능하다.
[그림 1]은 임계값을 통한 이진화 영상이다. 임계값을 50으로 설정하고
50보다 작은 화소를 갖는 값은 0으로, 50보다 큰 화소를 갖는 값은 255로 설정한 것이다.
[그림 1 - 임계값을 통한 이진화]
임계값 방법은 단순한 반면 문제점이 있다. 사람의 경우 눈대중으로 대강 임계값을 설정할 수 있지만,
컴퓨터가 적절한 임계값을 찾지 못하는 것이다. 컴퓨터가 히스토그램을 보고 임계값을 대강 50으로 설정하는 것은
생각보다 쉽지 않다. [그림1]의 히스토그램에서 0과 30, 125와 175 사이의 작은 계곡이 방해 요인이 될 것이다.
오츄 알고리즘
오츄는 아주 효과적인 이진화 알고리즘을 제시했다. 임계값 t를 기준으로 화소를 두 집합으로
나누엇을 때, 각 집합의 명암 분포가 균일할수록 좋다는 점에 착안하여 균일성이 클 수록 t에게 높은 점수를 준다.
균일성은 그룹의 분산으로 측정하는데, 분산이 작을수록 균일성이 높다.
※ 분산이란 평균과 떨어저 있는 정도의 범위를 말한다. 따라서 분산이 크면 평균값과 많이 떨어져있는 것 이다.
가능한 모든 t에 대한 점수를 계산한 후 가장 좋은 t를 최종 임계값으로 취한다.
일종의 최적화 알고리즘(optimization algorithm)이다.
아래 수식은 오츄 알고리즘의 핵심이다. 가 목적함수 역할을 하는데, 두 분산의 가중치 합으로 정의한다.
[수식 1]
[수식 2]
,
,
,
를 최소화하는 문제는 를 최대화 하는 것과 같다.
이에 따라 [수식 2]를 다음과 같이 바꾸어 쓸 수 있다.
[수식 3]
[수식 4]
[수식 5]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* 입력 : 영상 f(j,i), 0≤j≤M-1, 0≤i≤N-1 출력 : 이진 영상 b(j,i), 0≤j≤M-1, 0≤i≤N-1 */ 영상의 정규 히스토그램 h를 만든다. [수식 5]를 이용해 초기값 w0과 u(0)을 계산한다. for(j=1 to L-1) { [수식 5]의 순환식을 이용해 w0(t) 와 u0(t), u1(t)를 계산한다. [수식 4]를 계산하여 V를 계산한다. } 앞의 for 루프에서 가장 큰 V(t)를 보인 t를 임계값 T로 취한다. |
위 그림은 오츄 알고리즘을 적용한 이진화 결과이다.
임계값 k개를 사용하여 k+1개의 구간으로 구분하는 다중 임계값으로 적용하면
좀더 나은 결과를 낼수 있을 것이다.
출처 : 컴퓨터비전(오일석)
'컴퓨터비전/영상처리' 카테고리의 다른 글
bilateral filter (0) | 2014.10.10 |
---|---|
영상처리의 기본연산 (0) | 2014.10.10 |
화소 연결성 (0) | 2014.10.09 |
히스토그램 (0) | 2014.10.09 |
영상처리란 무엇인가? (0) | 2014.10.09 |