2011-02-15 3 views
1

J'utilise les fonctions d'asymétrie et de kurtosis pour la couleur de l'image Histogramme dans le système de récupération d'image comme caractéristiques statistiques, puis en utilisant ces caractéristiques pour comparer deux images pour récupérer les images de similarité. mais je reçois la valeur NAN dans certains résultats qui est provoque une erreur dans le processus de recherche d'images:Utilisation des fonctions d'asymétrie et de kurtosis dans l'appariement d'images

 
S=double(imread('im.jpg'); 
     R=S(:,:,1)/64;  R1=floor(R); 
     G=S(:,:,2)/64;  G1=floor(G); 
     B=S(:,:,3)/64;  B1=floor(B); 
[rr cc c]=size(R1); 
     ImageHist = zeros(4,4,4); 
       for row = 1 :rr 
         for col = 1:cc 
          ImageHist(R1(row,col)+1, G1(row,col)+1,B1(row,col)+1)= ImageHist(R1(row,col)+1, G1(row,col)+1,B1(row,col)+1)+1;     
        end 
       end 

      ImageHist = ImageHist/(rr*cc); 

puis je calcule le kurtosis comme:

QKurColHis = kurtosis(ImageHist); 

Je fais la même chose à la seconde fonction (skewness)

Il est approprié d'utiliser cette fonction à l'histogramme de couleur pour extraire la fonctionnalité de couleur? puis l'utiliser dans la récupération d'image?

si c'est OK, comment puis-je corriger cette erreur, comment puis-je supprimer les valeurs NaN de mon fichier mat?

Je veux utiliser ces fonctions comme des fonctions d'image en faisant correspondre des images en couleur ... quelqu'un pourrait m'aider à résoudre ce problème?

+3

en effet, vous posez les questions, prenez les réponses, mais ne remettez rien –

+2

À tout le moins, vous devriez upvote de bonnes réponses à vos propres questions. Vous avez la réputation de cela. – Dima

+0

Salut Dima .... Je n'ai pas eu la réponse à ma propre question pour voter. Personne ne me dit comment puis-je utiliser ces fonctions pour extraire la fonction de couleur de l'image ou pourquoi je reçois des valeurs NaN? Merci – zenab

Répondre

1

Je ne sais pas comment la fonction builtin kurtosis fonctionne, mais il se pourrait que vous devez fournir un vecteur au lieu de la matrice 3D comme entrée

kurtosis(ImageHist(:)) 

Outre le problème NaN, kurtosis et L'asymétrie vous donne des informations sur la distribution statistique des données dans ImageHist afin qu'elles puissent être traitées comme des fonctions d'image. Mais comment vont-ils performer dans la correspondance d'image est difficile à dire.

Questions connexes