2011-12-12 5 views
2

자바의 색상 막대 그래프를 기준으로 이미지를 비교해야합니다. 나는 JAI of java를 사용하여 이미지 히스토그램을 가지고있다.색상 히스토그램 기반 이미지 검색

하지만 어떻게 히스토그램을 사용하여 그들을 비교할 수 있는지 모르겠습니다.

+0

입니다 :

은이 유사성 측정을 계산하기 위해 다음 코드를 사용할 수 있습니까? 어느 쪽이 더 밝은 지 말하고 싶습니까? 어느 쪽이 더 파랗 죠? 아니면 더 좋을까요? 답을 얻으려면 더 많은 것을 말해야합니다. – Kai

+0

당신에게 재발송 해 주셔서 감사합니다 ... 나는 얼마나 정확하게 그들이 일치하는지 알고 싶습니다. 붉은 색과 둥근 모양 등으로 사과의 이미지를 사용하는 것보다 빨간색 사과 등의 결과 이미지가 있어야합니다. @ user714965 –

답변

2

histgams의 유사성을 측정하는 데는 여러 가지 방법이 있습니다. 이러한 방법 중 하나는 Bhattacharya 계수 방법입니다. 어떤 방법으로 당신이 그들을 비교 싶어, 당신의 예상 결과는 무엇

float similarity = 0; 
float[] targetHistogramData = ...//histogram1.getData(); 
float[] targetCandidateHistogramData = ...//histogram2.getData(); 

if(targetHistogramData.length != targetCandidateHistogramData.length){ 
    throw new IncompatibleHistogramsException(); 
} 

for(int i = 0; i < targetHistogramData.length; i++){ 
    similarity += Math.sqrt(targetHistogramData[i]*targetCandidateHistogramData[i]); 
} 

return similarity; 
관련 문제