我的图像尺寸为64x64,我应该对其进行傅立叶变换。我应该在原始图像的右边和底部用零填充,使其变为128x128,然后再次对其进行傅立叶变换。然后对256x256和512x512大小的图像重复此过程,并找到最终傅立叶变换之间的关系。
谁能告诉我该怎么做?我不知道如何对图像进行零填充以获得半个零的双倍图像。
答案 0 :(得分:1)
有多种方法可以将填充零。您可以使用两倍大小的zeros
创建一个数组,然后将图像放入左上角的索引中:
A = imread('coins.png');
[s1, s2] = size(A);
B = zeros(s1*2, s2*2, class(A));
B(1:s1,1:s2) = A;
为确保新数组B
与原始图像A
具有相同的类型,我使用了class(A)
。
或者,您可以使用padarray
。指定在每个方向上要填充的元素数量,要填充的元素以及放置的位置('post'
)。
C = padarray(A, [s1 s2], 0, 'post');