如何在 Matlab 中恢复 padarray 的影响



这是我添加填充的方法,我做了一些操作,然后我需要取下添加的填充。

imageP = padarray(image, [pad, pad]);

知道了!

[row, col] = size(originalImage) % Matrix dimensions

imageP = padarray(originalImage, [pad, pad]); % Add padding

originalImage = imageP(pad+1: row-pad, pad+1:col-pad) % Revert padding

由于最后一行的数组索引中的运算符优先级,先前的答案会产生空数组而不是预期结果。我建议进行以下调整:

% image and padding for testing
originalImage = magic(4);
pad = 2;
[row, col] = size(originalImage) % Matrix dimensions
imageP = padarray(originalImage, [pad, pad]); % Add padding
revertedImage = imageP(pad+(1:row), pad+(1:col))    % Revert padding

现在索引数组具有所需的大小rowlength,并且原始数组被恢复(即originalImage == revertedImage)。

最新更新