2010-11-26 14 views
2

MATLABの次のコードは何を意味していますか?MATLABのmax(max(L))はどういう意味ですか?

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

+0

私は初心者です。私がウィキペディアで読む必要があったら、私はここに来たことはありません。だから落札したり、外部サイトのURLを提供したりして、私や他の初心者を落胆させないようにしてください。 –

+3

@twesh:MatlabのオンラインドキュメントにURLを提供するのが実際に役に立ちます。それでも、私はこの質問をd​​ownvotingする理由はありませんので、+1それに対処する。 – Jonas

+1

@twesh:wikipediaではなく、MATLABのドキュメントを読んでください。それは非常によく書かれており、多くの例があります。すべての初心者の質問には、MATLABのドキュメントで対応する関数を探すだけで答えることができます。 – Mikhail

答えて

8

maxは、デフォルトでは、最初の非シングルトン次元に沿った配列の最大値をとります。 Lが2次元配列(bwlabelを呼び出す必要があります)の場合、maxの最初の呼び出しは最初の次元を折りたたんで、列maximaを持つ行が1つしかないようにし、2番目の呼び出しは2番目の次元を折りたたみます。スカラーの最大値が残っています。この例では、max(max(L))bwlabelためmax(L(:))

と等価である(すなわちユニークな、シーケンシャル整数と画素の各接続グループを標識)連結成分ラベリングを行い、mxはあなたの画像内のピクセルのグループの数を伝えます。

EDIT

@gnoviceコメントで述べたように、bwlabelによって割り当てられた最高標識がその第二の出力引数として返される。[L,mx] = bwlabel(B,8);

+0

goood。迅速な返信とより良い説明に感謝します。 :) –

+5

この例では、mxの計算は必要ないことにも注意してください。次のように、BWLABELから2番目の出力を得ることで、接続されたコンポーネントの数を簡単に取得できます。[L、mx] = bwlabel(B、8); – gnovice

+0

@gnovice:良い点。 – Jonas

4

bwlabelが連結成分の2次元行列を返します。ネストされたmax()のようなものは、2D行列の単一の最大値を返します。したがって、最も高いコンポーネントが見つかります。

関連する問題