Implemented Kullback-Leibler divergence

This commit is contained in:
pradeep
2014-05-17 23:44:31 +08:00
parent ada2879faa
commit c5b4b99350
5 changed files with 39 additions and 4 deletions

View File

@@ -2323,6 +2323,18 @@ double cv::compareHist( InputArray _H1, InputArray _H2, int method )
s2 += b;
}
}
else if( method == CV_COMP_KL_DIV )
{
for( j = 0; j < len; j++ ){
double p = h1[j];
double q = h2[j];
if( p == 0.0 )
continue;
if( q == 0.0 )
q += 1e-10;
result += p * cv::log( p / q );
}
}
else
CV_Error( CV_StsBadArg, "Unknown comparison method" );
}