2

私はMatlabで画像処理のコードに取り組んでいますが、チルダを使用して元の画像の関数を呼び出して同じ変数に保存しない限り、間引きは機能しません(インターネット上のどこかで見つかりました)。

 I= bwmorph(~I, 'thin', inf);
 I=~I;

私の質問は、チルダはここで何をする/意味するのですか?

4

4 に答える 4

6

Tilde~NOTMatlab の演算子であり、画像に関して特別なことは何もなく、画像を行列として扱うだけです。

~as operator は、それが呼び出された行列のブール形式を返します。結果の行列は10元の行列の場合と0そうでない場合です。

例:

a = magic(2)
a =

     1     3
     4     2

~a
ans =

     0     0
     0     0

別:

b = [4,0,5,6,0];
~b
ans =
 0     1     0     0     1
于 2015-04-17T18:56:22.107 に答える
2

~NOTはMATLABの論理演算子です。この関数を使用したことはありませんbwmorphが、ドキュメントによると、最初の入力引数はバイナリ イメージです。

~I(理論的にはとにかく) 行うことは、NxNx3 配列を返すことです。1ここで、 は の RGB 値Iです0

より小さな例の場合:

A = [50, 200, 67; 12, 0, 0];

test = ~A;

戻り値:

test =

     0     0     0
     0     1     1
于 2015-04-17T18:23:09.307 に答える
1

~Notは、Matlabの演算子に他なりません。

于 2015-05-01T09:26:25.330 に答える