create parallel lines in the same pic and find the average of all the ffts in it

3 Ansichten (letzte 30 Tage)
Hello everyone i have a code which draws a line in a pic and takes the fft of the profile of the line,does anyone know how can i take multiple parallel lines to the original line and find the ffts of all the profiles of the pixels and find the averge fft?

Akzeptierte Antwort

Matt J
Matt J am 5 Apr. 2021
Bearbeitet: Matt J am 5 Apr. 2021
Could you imrotate() the image so that it's rows are parallel to your line? Then, the operation would reduce to
fft( mean( imrotate(yourImage,angle) ,1) )
  8 Kommentare
george korris
george korris am 7 Apr. 2021
Bearbeitet: george korris am 7 Apr. 2021
sorry to bother you again matt but when using that comand where you calculate the fft of the rotated image is it calculating the fft of the background black pixels that imrotate creates or is it taking into considaration only the pixels of the image?
Matt J
Matt J am 7 Apr. 2021
It is taking the FFT of the average row. The averaging does not distinguish between foreground and background.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt J
Matt J am 5 Apr. 2021
The operation sounds the same, up to a scale factor, as doing
fft(radon(yourImage,theta))
  2 Kommentare
george korris
george korris am 5 Apr. 2021
thank you so much Matt for your answer , so this line is calxulating all the ffts of the lines in a specific angle theta?
Matt J
Matt J am 5 Apr. 2021
It is summing along a direction theta, then taking the fft, but that is essentially the same thing.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by