0

一定量のグレースケール画像 (->2D 配列) を 3D 配列のレイヤーとして保護したいと考えています。リアルタイム アプリケーションでは非常に高速であるため、次のコードをベクトル化したいと思います。m はシフト数です。

for i=1:m
  array(:,:,i)=imabsdiff(circshift(img1,[0 i-1]), img2);
end

nispio は非常に高度なバージョンを見せてくれました。

I = speye(size(img1,2)); E = -1*I;
ii = toeplitz(1:m,[1,size(img1,2):-1:2]);
D = vertcat(repmat(I,1,m),E(:,ii));

data_c = shape(abs([double(img1),double(img2)]*D),size(data_r,1),size(data_r,2),m);

現時点では、両方の操作の結果は同じではありません。画像が間違った方向に移動している可能性があります。私の知識は非常に限られているため、コードを完全には理解していません。

4

2 に答える 2