#matlab #image-processing #fft #zero-pad
#matlab #обработка изображений #БПФ #нулевая площадка
Вопрос:
У меня есть изображение размером 64×64, и я должен выполнить его преобразование Фурье. Я должен дополнить нулями справа и внизу исходного изображения, чтобы оно было 128×128, а затем снова выполнить его преобразование Фурье. А затем повторите эту процедуру для изображений размером 256×256 и 512×512 и найдите связь между конечными преобразованиями Фурье.
Кто-нибудь может сказать мне, как мне это сделать? Я не знаю, как обнулить изображение, чтобы получить изображение двойного размера с половиной нулей.
Ответ №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');