2

matlab operator と混同してい|ます。それが実際に何を意味するのか言えますか?

2 つの画像マトリックスがあるimage1image2したら、image3=image1|image2;どういう意味でしょうか?

ありがとう

4

4 に答える 4

2

この演算子は、要素単位の論理和演算を表します: docを参照してください。

image1image2が論理行列 (エントリが または のいずれtruefalse) であると仮定すると、 の各エントリはとのそれぞれのエントリの論理 or であるimage3 = image1 | image2;ことを意味します。image3image1image2

于 2013-05-13T13:41:10.877 に答える
2

要素ごとの論理 OR 演算

それで:

[1 0] | [1 1]結果として[ 1 1 ]

と、

[0 1] | [0 0]になり[ 0 1 ]ます。

あなたの場合、要素ごとの論理ORによって得られimage3たサイズの行列で、真(1)または偽を保持しますimage1image2

于 2013-05-13T13:42:52.663 に答える
1

2 つの同じサイズの行列があると仮定するimage1image2(論理を含むことができますが、他の値を含むこともできます)

次に、 andimage3 = image1 | image2のいわゆる「論理マスク」を提供します。image1image2

つまり、イメージ 3 は、少なくとも 1 つのイメージがゼロ以外の数であるポイントでは 1 (真) に等​​しく、両方がゼロの場合は 0 (偽) に等しくなります。

例:

image1 = [   0 255;
           166   0]
image2 = [-123   0;
           255   0]
image3 = image1 | image2
% Will give as output:
[1 1
 1 0]
于 2013-05-14T09:42:51.213 に答える
1

初期の言語 (C、C++) で使用される演算子の拡張により、広く、C から派生した MATLAB では |、標準的な意味、つまりORブール論理の演算子があります。

についてのあなたのコメントについてelement-wise multiplication or division in matrix we use . as well, but for what purpose do we use |?は、 を使用する場合、 とと同じようにと.|同等です。これらすべての演算子では、オペランドが同じサイズである必要があります。しかし、歴史的に、通常の乗算​​と行列乗算の同じ記号のために、2 つの記号があり、それぞれ と があります。これらの記号とは、通常の乗算​​と行列乗算の論理のあいまいさを避けるために、まったく異なります。除算演算も同様です。|.+.-*.**.*

同等の操作:

.+==+

.-==-

.|==|

同等ではない操作:

.*!=*

./!=/

于 2013-05-13T13:56:19.350 に答える