Auto Threshold

1 개요

이미지 히스토그램을 이용하여 Auto Threshold 를 수행하는 알고리즘입니다.

2 알고리즘 상세 설명

Sigma 값에 따라 히스토그램을 스무딩 한 후, 히스토그램 상에서 극소점의 픽셀값들을 Threshold 값으로 결정합니다.

Filter(x)=1/(2pisigma2)exp((x2)/(2sigma2))Filter(x) = 1/(2 * pi * sigma^2) * exp(-(x^2) / (2 * sigma ^ 2))

히스토그램
Histogram
Fig. 히스토그램에서 Threshold 값을 결정하는 예시

원본 이미지 결과 이미지
Auto Threshold Source Auto Threshold Result
Fig. Auto Threshold 동작 예시 (Sigma: 2)

CAutoThreshold autoThreshold;
CFLImage fliSourceImage;

autoThreshold.SetSourceImage(fliSourceImage);

autoThreshold.SetSigma(2.0);

autoThreshold.Execute();
CAutoThreshold autoThreshold = new CAutoThreshold();
CFLImage fliSourceImage = new CFLImage();

autoThreshold.SetSourceImage(ref fliSourceImage);

autoThreshold.SetSigma(2.0);

autoThreshold.Execute();

3 파라미터 설정 및 사용 방법

멤버함수 파라미터 설 명
SetSigma double f64Sigma IN Sigma 값

스무딩에 사용되는 Sigma 값을 설정합니다.
f64Sigma - Default Value : 0.5, Recommended Value : 0.1 ~ 3.0

멤버함수 파라미터 설 명 파라미터 설 명
GetResult int64_t i64Channel IN 채널 Base::CFLArray<>& flaAutoThreshold OUT Threshold 값

채널 별 Threshold 값을 가져옵니다.