2011-12-12 7 views
2

J'ai besoin de comparer les images sur la base de l'histogramme des couleurs en java. J'ai Histogramme d'images que j'ai fait en utilisant JAI de Java.Histogramme de couleur basé sur l'image Recherche

Mais je ne sais pas comment puis-je les comparer en utilisant l'histogramme.

+0

De quelle manière voulez-vous comparer, quel est votre résultat attendu? Voulez-vous dire lequel est le plus lumineux? Lequel est le plus bleu? Ou qui est plus gentil? Vous devez nous en dire plus pour avoir une réponse. – Kai

+0

merci pour vous replay ... Je veux juste savoir à quel point ils correspondent. comme si j'utilise une image de pomme avec la couleur rouge et la forme ronde etc. que je devrais avoir des images résultantes qui peuvent avoir la pomme rouge etc @ user714965 –

Répondre

2

Il existe différentes méthodes pour mesurer la similarité des histogrammes. Une telle méthode est la méthode des coefficients de Bhattacharya.

Vous pouvez utiliser le code suivant pour le calcul de cette mesure de similarité:

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; 
Questions connexes