一定量のグレースケール画像 (->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);
現時点では、両方の操作の結果は同じではありません。画像が間違った方向に移動している可能性があります。私の知識は非常に限られているため、コードを完全には理解していません。