1

私はCT-Pictureのセグメンテーションに取り組んできましたが、どこかでこの式に出くわしました:

A=A~=0

私の場合、A は 0 から 255 までの値を持つ巨大な行列です。A=A~=0 を使用すると (A は行列です)、すべての値が 0 から 0 (偽) になり、残りは 1 になります (真実)。では、この式は「値は 0 に等しくないか?」のようなことを言っていますか?

さらに別の質問ですが、前に書いたことが本当なら、「値は 0,1,2,3,4,5,...,50 ?」

私の質問が理解でき、誰かが私を助けてくれることを願っています.

ありがとう!

4

3 に答える 3

2

最初の質問は@nimrodm によって完全に回答されていますが、2 番目の部分では 2 つの異なるアプローチがあります。[0, 50]使用できるように、指定された間隔内のすべての番号を除外する場合

A = (A<0) | (A>50);

たとえば、特定の値を確認している場合は、{0, 5, 11, 50}次を使用できますismember

A = ~ismember(A, [0, 5, 11, 50]);
于 2013-10-08T19:19:20.763 に答える
0

~=あなたの理解が正しいので、0 の場合は 0 を取得し、0 以外の場合は 1 を取得します。

2番目の質問については、マトリックスを用意してください

B = [0:50]; % or whatever elements in it;

次にarrayfunコマンドを使用します

A=arrayfun(@(x)(ismember(x,B)),A);

help arrayfun詳細については、help ismemberコマンド ウィンドウで次のように入力します。

基本的には無名関数を使って A中から各要素の存在を検索します。B

于 2013-10-08T18:59:39.543 に答える