Correlogram을 사용하여 두 이미지 사이의 유사성을 찾으려고합니다. 나는 이미 두 이미지 모두 Correlograms (2D)를 만들었습니다.두 이미지의 Correlograms 일치하기
작업 : 이제이 두 가지 Correlograms가 얼마나 비슷한 지 알고 싶습니다.
문제점 : 나는이 두 Correlograms와 어떻게 일치합니까? two histograms과 비슷한 방식으로 일치시킬 수 있습니까?
비교 공식 : 연구 논문에 따르면, 히스토그램 매칭과 Correlogram 매칭의 수학 공식은 다음과 같습니다. 히스토그램의 경우, 합계는 색상 빈의 해당 값 사이의 차이에 대해서만 취해진다는 것을 분명하게 알 수 있습니다. 반면, Correlogram 매칭의 경우, 합계는 거리, 컬러 빈 (color bins)의 2 가지 차원으로 취해진 다.
내 코드 : 나는 두 개의 이미지, 즉 및 Mat correlogram1
Mat correlogram2
이있는 난 두 이미지 Correlogram의 값을 저장하고있다. 그런 다음 위의 수식을 기반으로 다음 코드를 사용하여 일치 시키려고합니다.
double correlogramMatching(Mat correlogram1, Mat correlogram2)
{
double confidenceValue = 0;
for(int i=0; i<ColorBins; i++)
{
for(int j=0; j<DistanceRange; j++)
{
double value = (std::abs) ((correlogram1.at<double>(i,j) - correlogram2.at<double>(i,j))/(1 + correlogram1.at<double>(i,j) + correlogram1.at<double>(i,j)));
confidenceValue = confidenceValue + value;
}
}
return confidenceValue;
}
혼란 : 두 이미지에 대해서는 동일한는 confidanceValue의 값은 제로되어 두 때문에 일반적이지 이미지 값 등등 .... 66, 88과 같다. 그래서, 두 개의 이미지가 유사하거나 유사한 경우 어떤 값을 예측해야합니까?
PS : OpenCV (C++)로 프로그래밍하고 있습니다.
correlogram에 대해 들어 본 적이 없습니다.히스토그램과의 차이점은 무엇입니까? – memecs
@memecs : 히스토그램은 색상에 대한 전역 정보 만 유지합니다. 히스토그램이 그 이미지에서 특정 색상의 확률이 얼마인지 알려줍니다. 반면에, correlogram은 확장이며 매우 강력한 기술입니다. 색상 및 공간 분포에 대한 정보를 유지합니다. – skm
제로를 사용하여 Correlogram을 만들면 정규 상관 관계를 의미하므로 문제없이 비교할 수 있습니다. 음, 왜 제로 평균 정규화 상관 관계가 어쨌든 사용됩니다 thats. –