Я хотел бы задать вам вопрос, может быть, банальный, но на самом деле, я немного запутался.
Учитывая черно-белое представление, моя цель - оценить функцию автокорреляции.
Следуя подходу, описанному в , этот пример :
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
(это должен быть сигнал о том, что я не допустил ошибок).
Однако функции корреляции, полученные с помощью процедуры, описанной в ссылке (без нуля), и функции, полученные с нуля, отличаются в одной и той же области.
Я ожидал, что две корреляционные функции были одинаковыми ... они должны быть одинаковыми или правильно, что они разные?
Что я не получаю?