2010-11-26 8 views
2

que signifie le code suivant dans MATLAB?que signifie max (max (L)) dans MATLAB?

L = bwlabel(B,8) 
mx= max(max(L)) 

des idées?

+0

voir, je suis un débutant, si je devais le lire sur wikipedia je ne serais jamais venu ici. alors s'il vous plaît ne me décourage pas ou tout autre débutant par le vote à la baisse ou en fournissant même l'URL de sites externes. –

+3

@twesh: fournir des urls à la documentation en ligne de Matlab est réellement utile. Cependant, je ne vois aucune raison de réduire cette question, donc +1 pour contrer cela. – Jonas

+1

@twesh: vous ne devriez pas lire wikipedia mais la documentation MATLAB. C'est très bien écrit et il y a beaucoup d'exemples. Il est possible de répondre à toutes les questions de débutant en recherchant simplement la fonction correspondante dans la documentation de MATLAB. – Mikhail

Répondre

8

max prend, par défaut, le maximum d'un tableau le long de la première dimension non-singleton. Si L est un tableau 2D (ce qu'il devrait, compte tenu de votre appel à bwlabel), le premier appel de max réduit la première dimension, de sorte qu'il n'y a qu'une seule ligne avec des maxima de colonne, et le second appel réduit la deuxième dimension, de sorte que il n'y a plus qu'un maximum scalaire. Dans cet exemple, max(max(L)) est équivalente à max(L(:))

Depuis bwlabel effectue reliés l'étiquetage des composants (à savoir l'étiquetage de chaque groupe de pixels connectés avec des entiers séquentiels uniques), mx vous indique le nombre de groupes de pixels dans l'image.

EDIT

Comme @gnovice mentions dans les commentaires, la plus haute étiquette attribué par bwlabel est retourné comme son second paramètre de sortie: [L,mx] = bwlabel(B,8);

+0

goood. merci pour une réponse rapide et une meilleure explication. :) –

+5

Il convient également de noter que le calcul de mx n'est pas nécessaire dans cet exemple. Vous pouvez facilement obtenir le nombre de composants connectés en obtenant la deuxième sortie de BWLABEL, comme ceci: [L, mx] = bwlabel (B, 8); – gnovice

+0

@gnovice: bon point. – Jonas

4

bwlabel renvoie une matrice 2D de composantes connexes. max() imbriquée comme cela renvoie la plus grande valeur unique dans une matrice 2D, donc, le composant le plus élevé trouvé.