画像のすべてのピクセルに対して次のような操作を実行しようとしています。
Aはx*y * 4行列、wは単に1x9ベクトルです。
200x200x4x9の行列Lがあります。
Lの最初の2次元は、ピクセルの(x、y)位置です。各場所には4つの異なるサブピクセル(3次元)があります。すべてのサブピクセルにはベクトルmがあります。これは、私の方程式の最後の次元がmです。
画像全体の最初のサブピクセルの結果を取得する予定です。これを試しました。
A (:,:,1) = w * L (:, :, 1, :) ====> Inputs must be 2-D, or at least one input must be scalar.
A (:,:,1) = w * L (:, :, 1, :)' ====> Transpose on ND array is not defined.
A (:,:,1) = w * reshape (L (:, :, 1, :), 1, 9)' ===> To RESHAPE the number of elements must not change.
L(1,1,1、:)を出力すると、個々の要素の値が得られます(ベクトルのようには見えません)。
ans(:,:,1,1) = 0.8980
ans(:,:,1,2) = 0.8065
ans(:,:,1,3) = 0.8471
ans(:,:,1,4) = 0.7607
ans(:,:,1,5) = 0.7175
ans(:,:,1,6) = 0.9020
ans(:,:,1,7) = 0.8100
ans(:,:,1,8) = 0.7640
ans(:,:,1,9) = 0.8135
編集:参考のために、
Size(A) = [200 200 4]
Size(L) = [200 200 4 9]
Size(w) = [1 9]
編集:それは私がループを使用してそれを行う方法です