Effacer les filtres
Effacer les filtres

How can I apply an auto-correlation to a Radon Transformation?

2 vues (au cours des 30 derniers jours)
Andrei
Andrei le 10 Oct 2013
Commenté : Matt J le 14 Oct 2013
I have the following code
I = imread('img.jpg');
I = rgb2gray(I);
theta = 1:180;
[R,xp] = radon(I,theta);
how can I apply auto-correlation on this radon transformation on an image?
I have the following formula for auto-correlation which I want to apply:
where g(s,0) is the radon transformation. How can I implement this in Matlab? or is there an equivalent function that I can use?
Thank you in advance!

Réponse acceptée

Matt J
Matt J le 10 Oct 2013
Modifié(e) : Matt J le 10 Oct 2013
Just apply conv() or xcorr(), if you have it, to each of the columns of R. A simple for-loop will do.

Plus de réponses (1)

Matt J
Matt J le 10 Oct 2013
Modifié(e) : Matt J le 10 Oct 2013
You can also use Fourier methods, something like
c=ifft( fft(R).*conj(fft(R)) )
c=bsxfun(@rdivide,c,sum(R.^2,1));
  3 commentaires
Bjorn Gustavsson
Bjorn Gustavsson le 14 Oct 2013
Just shooting from the hip on this one. In principal the results should be the same, within numerical accuracies- but if you use xcorr it might give you some default weigthing of the different lags.
Matt J
Matt J le 14 Oct 2013
The correlation/convolution, when implemented using ffts, is circulant. You will have to zero pad to make it equivalent to linear convolution.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by