2

一部の値を領域で検索して置き換える方法について質問があります。私は3つのマトリックスを持っています。同じ長さ = 1700*1700 です。「マスク」と呼ばれる 3 番目の行列には、0 と 255 という 2 つの異なる値があります。

a
b
mask

「a」マトリックスの「0エリア」(マスクで定義された0エリア)にあるすべての同じ値を見つけ、「a」マトリックスのb値に置き換えたいと思います。それは可能ですか?たとえば、この単純な例では、これが取得したいものです。

a= (3 4 2 5)
b = (2 4 5 7)
mask= (255 255 0 255)

結果=

c= 3 4 5 5

前もって感謝します、

4

2 に答える 2

4

論理インデックスを使用してそれを行う別の方法。

>> a= [3 4 2 5];
>> b = [2 4 5 7];
>> mask= [255 255 0 255];
>> c = b;
>> logicalMask = mask>0;
>> c(logicalMask) = a(logicalMask) % Set values from a where mask>0

c =

   3     4     5     5
于 2013-07-22T13:01:32.697 に答える