Otsu Threshold
1 개요
픽셀 히스토그램 정보를 바탕으로 클래스 간 분산을 이용하여 최적 임계값을 적용하는 알고리즘입니다.
2 알고리즘 상세 설명
알고리즘은 두 클래스 분산의 가중 합으로 정의된 클래스 내 분산을 최소화하는 임계값을 조사하여 적용합니다.
- : 임계값 t에서의 각 클래스 확률
- : 임계값 t에서의 각 클래스 분산
입력 이미지 | 결과 이미지 |
---|---|
![]() |
![]() |
Fig. Otsu Threshold 동작 예시
3 예제 코드
COtsuThreshold otsuThreshold;
CFLImage fliSourceImage;
otsuThreshold.SetSourceImage(fliSourceImage);
CMultiVar<int64_t> mvLogicalCondition;
mvLogicalCondition.PushBack((int64_t)(ELogicalCondition_Greater));
otsuThreshold.SetLogicalCondition(mvLogicalCondition);
CMultiVar<double> mvOffset(0);
otsuThreshold.SetThresholdOffset(mvOffset);
otsuThreshold.Execute();
4 파라미터 설정 및 사용 방법
- Threshold 파라미터 공통 : Absolute Threshold 참고
멤버함수 | 파라미터 | 설 명 | ||
---|---|---|---|---|
SetThresholdOffset | CMultiVar<double> | mvOffset | IN | 이진화 적용 Offset |
산출된 Threshold 값에 Offset 만큼 더 적용하여 이진화를 수행하게 됩니다.