映射两个矩阵的像素

时间:2013-05-20 15:08:43

标签: matlab map pixel

假设我有两个以下大小的矩阵:

matrix_1 = 30090x2

matrix_2 = 170x177

此处假设rows n matrix_1的数量代表pixels的数量。您可以看到matrix_2的大小等于像素数。

我要做的是map matrix_1中的像素matrix_2中的像素,例如:{/ p>

matrix_1(1) = matrix_2(1)
matrix_1(2) = matrix_2(2)
matrix_1(3) = matrix_2(3)
......
......
matrix_1(n) = matrix_2(n)

我如何在matlab中执行此操作?

2 个答案:

答案 0 :(得分:1)

这是一个选项

  matrix_1 = matrix_2(:);

复制一个长列中matrix_2的元素(所有元素)。

在您的数据中,您说matrix_1有两列,您可以通过执行添加另一个空列,例如

  matrix_1  = [matrix_1 zeros(size(matrix_1))];

答案 1 :(得分:1)

快速方法是首先使用以下命令将矩阵转换为列向量: matrix_1 = matrix_1(:); matrix_2 = matrix_2(:);

由于两个矩阵现在具有相同的大小,因此您可以执行所需的操作。

如果需要将矩阵恢复为原始比例,可以使用reshape命令执行此操作 matrix_1 = reshape(matrix_1,30090,2)

参见以下参考资料: http://www.mathworks.com/help/matlab/ref/reshape.html