2014-04-22 1 views
0

Mon projet est la reconnaissance de formes de feuilles. J'utilise les Moments Invariants pour l'extraction de traits et la Distance de Bloc de Ville pour calculer la distance entre l'image de test et l'image dans la base de données. Bust le résultat que je reçois est très mauvais. Je peux dire que la reconnaissance n'est que de moins de 50% de correspondance. par exemple:Mauvais résultat sur la reconnaissance de forme en utilisant des moments invariants

Ceci est l'image test

enter image description here

Mais ce match avec cette image:

enter image description here

je convertir cette image en image binaire en utilisant le seuil Otsu, de sorte que le image qui a l'air bien sur la forme. Ma question, est-ce normal? ou Ai-je une erreur dans mon code? Ceci est mon codage en utilisant City Block Distance:

CityBlock[j] = Math.abs(bMom1 - DB.GetBentukMoment1(j)) + Math.abs(bMom2 - DB.GetBentukMoment2(j)) + 
           Math.abs(bMom3 - DB.GetBentukMoment3(j)) + Math.abs(bMom4 - DB.GetBentukMoment4(j)) + 
           Math.abs(bMom5 - DB.GetBentukMoment5(j)) + Math.abs(bMom6 - DB.GetBentukMoment6(j)) + 
           Math.abs(bMom7 - DB.GetBentukMoment7(j)); 

Si i utilise la même image sur ce codage, le résultat n'a pas donné valeur 0. Pourquoi? est-ce parce que le double type de données?

Répondre

0

Enfin, je sais le problème sur mon application, la valeur double que je sauvegarde dans la base de données avec double type de données a changer, donc j'utilise Text type de données pour stocker la valeur double, puis j'analyse pour doubler, puis je obtenir la valeur zéro pour la même image. Mais je pense que les moments invariants ne sont pas bons pour faire correspondre sur l'image binaire, il est préférable de l'utiliser sur une image cannibale. C'est parce que pour certains correspondant à l'image binaire, je reçois toujours le problème comme ma question.

Questions connexes