実際には、正確に45度の対角線が必要で、ピクセルが正方形(ほとんどの標準カメラでは安全な仮定)であれば、実際には座標変換を行う必要はありません。対角に沿った点のすべてが、例えば、以下のような形を有するという事実を用いることができる。 I(ix, ix), I(1 + ix, ix)
。限界を解決するのはちょっと難しいです。 「列」のためにこれを試みる(下左上から対角線右)合計、底部から始まるが、その後上部に、左端を移動、左:
I = eye(5, 4);
I(4, 1) = 1;
[nrows, ncols] = size(I);
colsums = zeros(nrows + ncols - 1, 1);
% first loop over each row in the original image except the first one
for ix = nrows : -1 : 2,
JX = [0 : min(nrows - ix, min(nrows-1, ncols-1))];
for jx = JX,
colsums(nrows - ix + 1) = colsums(nrows - ix + 1) + I(ix + jx, jx + 1);
end
end
% then loop over each column in the original image
for ix = 1 : ncols,
JX = [0 : min(nrows - ix - 1, min(nrows-1, ncols-1))];
for jx = JX,
colsums(nrows + ix - 1) = colsums(nrows + ix - 1) + I(1 + jx, ix + jx);
end
end
なお距離もし(あなたのような音はありません)、これらの対角に沿った距離はsqrt(2)/2
です。
ありがとうございました。私はこれがまさに「ラドン」機能と同じだと思います。これは私がラドンの機能で理解していなかったことを理解するのを助けました。 – Sulla