matlab operator と混同してい|ます。それが実際に何を意味するのか言えますか?
2 つの画像マトリックスがあるimage1とimage2したら、image3=image1|image2;どういう意味でしょうか?
ありがとう
matlab operator と混同してい|ます。それが実際に何を意味するのか言えますか?
2 つの画像マトリックスがあるimage1とimage2したら、image3=image1|image2;どういう意味でしょうか?
ありがとう
この演算子は、要素単位の論理和演算を表します: docを参照してください。
image1とimage2が論理行列 (エントリが または のいずれtrueかfalse) であると仮定すると、 の各エントリはとのそれぞれのエントリの論理 or であるimage3 = image1 | image2;ことを意味します。image3image1image2
要素ごとの論理 OR 演算
それで:
[1 0] | [1 1]結果として[ 1 1 ]
と、
[0 1] | [0 0]になり[ 0 1 ]ます。
あなたの場合、要素ごとの論理ORによって得られimage3たサイズの行列で、真(1)または偽を保持しますimage1。image2
2 つの同じサイズの行列があると仮定するimage1とimage2(論理を含むことができますが、他の値を含むこともできます)
次に、 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]
初期の言語 (C、C++) で使用される演算子の拡張により、広く、C から派生した MATLAB では |、標準的な意味、つまりORブール論理の演算子があります。
についてのあなたのコメントについてelement-wise multiplication or division in matrix we use . as well, but for what purpose do we use |?は、 を使用する場合、 とと同じようにと.|同等です。これらすべての演算子では、オペランドが同じサイズである必要があります。しかし、歴史的に、通常の乗算と行列乗算の同じ記号のために、2 つの記号があり、それぞれ と があります。これらの記号とは、通常の乗算と行列乗算の論理のあいまいさを避けるために、まったく異なります。除算演算も同様です。|.+.-*.**.*
同等の操作:
.+==+
.-==-
.|==|
同等ではない操作:
.*!=*
./!=/