在GNU / Octave中乘以3D矩阵的最佳方法

时间:2018-01-24 13:37:12

标签: png octave matrix-multiplication

我们有一个50x50x3矩阵i从PNG文件加载imread,由0和1(前/后)组成。图像将使用给定颜色进行着色,[0,1](RGB)中的1x3数字向量c,导致c(k)替换i(:,:,k)中的1(k 1}}在[1 ... 3]中,并保持0不变。 对这些变量执行此操作(类型矩阵乘法)的最小计算时间是什么表达式?

1 个答案:

答案 0 :(得分:1)

首先将c重塑为1x1x3数组:

c = reshape(c,1,1,3);

接下来,进行逐点乘法。 Octave(与最新的MATLAB一样)进行隐式单例扩展(也就是广播):

 i = i .* c;