【问题标题】:Mapping pixels of two matrices映射两个矩阵的像素
【发布时间】:2013-05-20 15:08:42
【问题描述】:

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

matrix_1 = 30090x2

matrix_2 = 170x177

这里假设rows的个数nmatrix_1代表pixels的个数。可以看到matrix_2的大小等于像素数。

我要做的是mapmatrix_1 中的像素到matrix_2 中的像素,例如:

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 中做到这一点?

【问题讨论】:

    标签: matlab map pixel


    【解决方案1】:

    这是一个选项

      matrix_1 = matrix_2(:);
    

    一个长列中复制matrix_2的元素(全部)。

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

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

    【讨论】:

      【解决方案2】:

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

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

      如果您需要将矩阵恢复到原始比例,您可以使用 reshape 命令来完成 matrix_1=reshape(matrix_1, 30090,2)

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

      【讨论】:

        猜你喜欢
        • 2013-05-16
        • 2019-02-03
        • 1970-01-01
        • 1970-01-01
        • 2014-08-06
        • 2019-03-03
        • 2013-11-19
        • 2015-07-20
        • 2014-05-12
        相关资源
        最近更新 更多