Fuzzy Entropy
1 개요
이미지에 대한 Fuzzy Entropy 를 구하는 알고리즘 입니다.
2 알고리즘 상세 설명
Fuzzy Entropy 알고리즘은 이미지를 Fuzzy Set 으로 간주합니다. 대상 이미지가 흰색 또는 검은색 이미지에 얼마나 잘 근접하는지 측정하여, 잘 근접할수록 0, 아닐수록 1 에 가까운 값이 산출 됩니다.
H(x)=MN⋅ln21m,n∈x∑{−ux⋅ln(ux)−(1−ux)⋅ln(1−ux)}
ux=⎩⎨⎧0(b−a)(c−a)(x−a)2(c−b)(c−a)(x−c)21, x≤a, a<x≤b, b<x≤c, c≤x
- x : Image Coordinates
- ux : Membership Function
- MN : Region Area
- a : Parameter A
- c : Parameter C
- b : a 와 c 의 평균값
- Parameter A 와 C 가 0 이면, A 와 C 는 이미지의 최솟값과 최댓값으로 설정됩니다.
결과 : 0.600424 |
결과 : 0.528426 |
 |
 |
Fig. Fuzzy Entropy 동작 예시
위의 예시는 예제 이미지와 노이즈를 추가한 이미지를 사용하여 Default 설정으로 실행한 예시입니다.
3 예제 코드
CFuzzyEntropy fuzzyEntropy;
CFLImage fliSourceImage;
fuzzyEntropy.SetSourceImage(fliSourceImage);
fuzzyEntropy.SetParameterA(0);
fuzzyEntropy.SetParameterC(255);
fuzzyEntropy.Execute();
CMultiVar<double> mvFuzzyEntropy;
fuzzyEntropy.GetResultFuzzyEntropy(mvFuzzyEntropy);
CFuzzyEntropy fuzzyEntropy = new CFuzzyEntropy();
CFLImage fliSourceImage = new CFLImage();
fuzzyEntropy.SetSourceImage(ref fliSourceImage);
fuzzyEntropy.SetParameterA(0);
fuzzyEntropy.SetParameterC(255);
fuzzyEntropy.Execute();
CMultiVar<double> mvFuzzyEntropy = new CMultiVar<double>();
fuzzyEntropy.GetResultFuzzyEntropy(ref mvFuzzyEntropy);
fuzzyEntropy = CFuzzyEntropy()
fliSourceImage = CFLImage()
fuzzyEntropy.SetSourceImage(fliSourceImage)
fuzzyEntropy.SetParameterA(0)
fuzzyEntropy.SetParameterC(255)
fuzzyEntropy.Execute()
mvFuzzyEntropy = CMultiVar[Double]()
fuzzyEntropy.GetResultFuzzyEntropy(mvFuzzyEntropy)
4 파라미터 설정 및 사용 방법
멤버함수 |
파라미터 |
설 명 |
SetParameterA |
double |
f64ParameterA |
IN |
Parameter A 설정자 |
GetParameterA |
double |
f64ParameterA |
OUT |
Parameter A 접근자 |
Membership Function 의 Parameter A 를 설정합니다.
멤버함수 |
파라미터 |
설 명 |
SetParameterC |
double |
f64ParameterC |
IN |
Parameter C 설정자 |
GetParameterC |
double |
f64ParameterC |
OUT |
Parameter C 접근자 |
Membership Function 의 Parameter C 를 설정합니다.