Автокорреляционная функция изображения до и после заполнения нулями - PullRequest
0 голосов
/ 08 ноября 2018

Я хотел бы задать вам вопрос, может быть, банальный, но на самом деле, я немного запутался.

Учитывая черно-белое представление, моя цель - оценить функцию автокорреляции. Следуя подходу, описанному в , этот пример :

I=double(I); %convert to double
I=I-mean(I(:)); %subtract mean
I=I/sqrt(sum(I(:).^2)); %normalize magnitude
fft_I=fft2(I); %compute fft2
A=real(fftshift(ifft2(fft_I.*conj(fft_I)))); %compute autocorrelation

Я получаю функцию, которая дает значения автокорреляции, связанные с половинной областью моего изображения (вдоль x и вдоль y)

После некоторого исследования, если я правильно понял, чтобы получить автокорреляционную функцию, относящуюся ко всему домену, следуя вышеупомянутой процедуре, я должен обнулить свое изображение, добавив нули. Я сделал это, и полученная функция автокорреляции такая же, как и полученная с помощью команды Matlab xcorr2 (это должен быть сигнал о том, что я не допустил ошибок).

Однако функции корреляции, полученные с помощью процедуры, описанной в ссылке (без нуля), и функции, полученные с нуля, отличаются в одной и той же области.

Я ожидал, что две корреляционные функции были одинаковыми ... они должны быть одинаковыми или правильно, что они разные? Что я не получаю?

1 Ответ

0 голосов
/ 08 ноября 2018

Обратите внимание, что при вычислении взаимной корреляции путем умножения в области Фурье изображение считается периодическим.Для данного сдвига части изображения, которые не перекрывают область изображения, оборачиваются и возвращаются в область изображения с другой стороны.

При заполнении нулями область изображения становится больше.Если применяется достаточное заполнение, то нет сдвига, для которого исходное изображение оборачивается и возвращается в исходную область изображения на другой стороне.

Таким образом, следует ожидать, что результаты различаются даже втот же домен.Чем дальше от начала координат, тем больше будут отличаться эти две функции автокорреляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...