1

我有一个大小为 64x64 的图像,我应该对其进行傅里叶变换。我应该在原始图像的右侧和底部填充零以使其成为 128x128,然后再次进行傅里叶变换。然后对 256x256 和 512x512 大小的图像重复此过程,并找到最终傅里叶变换之间的关系。

谁能告诉我该怎么做?我不知道如何对图像进行零填充以获得带有半零的双倍尺寸图像。

4

1 回答 1

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');
于 2019-04-25T08:14:14.083 回答