替换矩阵的值

时间:2013-02-23 19:29:55

标签: matlab pixel substitution

说我有以下两个矩阵:

>> x = [1 4 3; 6 4 3; 6 9 3; 2 4 3; 5 4 0; 5 3 1; 6 4 7];
>> y = [0 0 1; 1 1 0; 1 1 0; 0 1 1; 0.2 0.8 0.54; 1 1 1; 0 0 0];

您可以将x视为某个图像,并将y x的每个元素的成员资格视为某个感兴趣的区域。

假设我将x中具有会员等级= 1的元素设置为1,将其他元素设置为0,如下所示:

x = zeros(size(y));
x(y==1) = 1;

在这种情况下,我将得到以下输出:

     0     0     1
     1     1     0
     1     1     0
     0     1     1
     0     0     0
     1     1     1
     0     0     0

现在,对于0的元素,如何在相应位置使用y的值替换其值?

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

x(x==0)=y(x==0);

x =

     0         0    1.0000
1.0000    1.0000         0
1.0000    1.0000         0
     0    1.0000    1.0000
0.2000    0.8000    0.5400
1.0000    1.0000    1.0000
     0         0         0