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

2 views (last 30 days)
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?

Accepted Answer

Matt J
Matt J on 5 Apr 2021
Edited: Matt J on 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 Comments
george korris
george korris on 7 Apr 2021
Edited: george korris on 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 on 7 Apr 2021
It is taking the FFT of the average row. The averaging does not distinguish between foreground and background.

Sign in to comment.

More Answers (1)

Matt J
Matt J on 5 Apr 2021
The operation sounds the same, up to a scale factor, as doing
fft(radon(yourImage,theta))
  2 Comments
george korris
george korris on 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 on 5 Apr 2021
It is summing along a direction theta, then taking the fft, but that is essentially the same thing.

Sign in to comment.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!