2010-05-21 8 views
0

Après avoir effectué le traitement, je veux calculer le pourcentage de pixels blancs entre ces images après le changement. Je fais ceci: var = (int2str (nnz (Img2))/int2str (nnz (Img1))) * 100;Pourcentage du pixel blanc

mais il retourne comme résultat]

Quel est le problème?

Répondre

1

La fonction INT2STR est uniquement nécessaire pour convertir une valeur entière en chaîne (généralement dans le but de l'afficher). Si vous voulez juste la valeur numérique, laissez que sur:

var = 100*nnz(Img2)/nnz(Img1); 

Si vous voulez maintenant tourner var en une valeur de chaîne, vous pouvez utiliser NUM2STR (puisque var est susceptible de ne pas être une valeur entière plus) :

varString = num2str(var); 
+0

Cela me donne: Avertissement: Les valeurs hors plage ou non entières sont tronquées lors de la conversion en caractère. Lorsque je l'utilise dans ce cas: titre (['Pourcentage:' 100 * nnz (Img4)/nnz (image)]); –

+0

@AZIRAR: D'abord, vous devez faire 'num2str (100 * nnz (Img4)/nnz (image))' pour convertir le nombre en une chaîne. Deuxièmement, j'éviterais d'utiliser 'image' comme nom de variable, puisqu'il existe déjà une fonction intégrée appelée IMAGE. – gnovice

+0

Merci, ça fonctionne. –