Maximum Entropy Threshold
1 개요
이미지의 엔트로피가 최대화되도록 자동 임계값을 계산 합니다.
2 알고리즘 상세 설명
Topt=arg max(Hf(T)+(Hb(T))
Hf(T)=−i=1∑TP(T)P(i)×logP(T)P(i)
Hb(T)=−i=T∑G1−P(T)P(i)×log1−P(T)P(i)
- G : The number of intensity levels
입력 이미지 |
결과 이미지 |
 |
 |
Fig. Maximum Entropy Threshold 동작 예시
3 예제 코드
CMaximumEntropyThreshold maximumEntropyThreshold;
CFLImage fliSourceImage;
maximumEntropyThreshold.SetSourceImage(fliSourceImage);
CMultiVar<int64_t> mvLogicalCondition;
mvLogicalCondition.PushBack((int64_t)(ELogicalCondition_Greater));
maximumEntropyThreshold.SetLogicalCondition(mvLogicalCondition);
CMultiVar<double> mvOffset(0);
maximumEntropyThreshold.SetThresholdOffset(mvOffset);
maximumEntropyThreshold.Execute();
CMaximumEntropyThreshold maximumEntropyThreshold = new CMaximumEntropyThreshold();
CFLImage fliSourceImage = new CFLImage();
maximumEntropyThreshold.SetSourceImage(ref fliSourceImage);
CMultiVar<long> mvLogicalCondition = new CMultiVar<long>();
mvLogicalCondition.PushBack((long)(ELogicalCondition.Greater));
maximumEntropyThreshold.SetLogicalCondition(mvLogicalCondition);
CMultiVar<double> mvOffset = new CMultiVar<double>(0);
maximumEntropyThreshold.SetThresholdOffset(mvOffset);
maximumEntropyThreshold.Execute();
4 파라미터 설정 및 사용 방법
멤버함수 |
파라미터 |
설 명 |
SetThresholdOffset |
CMultiVar<double> |
mvOffset |
IN |
이진화 적용 Offset |
산출된 Threshold 값에 Offset 만큼 더 적용하여 이진화를 수행하게 됩니다.