将较小的矩阵分配给较大的矩阵(以较大矩阵中的元素为中心)?

时间:2014-04-22 00:24:50

标签: matlab

假设我有一个1920x1080的图像矩阵。我还有一个3x3矩阵内核。我想将内核分配给以任何有效像素位置(ii,jj)为中心的图像值。

kernel(1, 1) = image(ii-1, jj-1);
kernel(1, 2) = image(ii-1, jj  );
kernel(1, 3) = image(ii-1, jj+1);
kernel(2, 1) = image(ii  , jj-1);
kernel(2, 2) = image(ii  , jj  );
...
kernel(3, 3) = image(ii+1, jj+1);

除了循环之外还有一个快捷方式吗?

1 个答案:

答案 0 :(得分:1)

如果您只想为给定的(ii,jj)执行该任务,您可以在一个语句中执行此操作:

kernel = image(ii-1:ii+1, jj-1:jj+1);