分配像素位置

时间:2014-02-23 15:14:53

标签: matlab location pixel assign

我有以下矩阵:

a =

     1     4
     6     4

之后,我创建了一个与new大小相同的零矩阵a

new =

     0     0
     0     0 

我正在尝试执行以下操作:

  • (2,1)中的位置a分配给变量p
  • new中的该位置,我想为其赋予值1

为此,我做了以下事情:

p=a(2,1);
new(p)=1;

但是,我得到了以下内容:

In an assignment  A(I) = B, a matrix A cannot be resized.

似乎p=a(2,1);也分配了该位置的值,而不是位置本身。

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

如果你想要“位置”,你可以使用该像素的线性索引:

p = sub2ind( size(a), 2, 1 );
new(p) = 1;