# spatial frequency corresponding to the image plane

Hi everybody

I am doing image filtering in frequency domain, and I need to find the frequency of each image pixel . the only thing I know about the image is size of image for example: (225, 225)

There is a function in python "np.fft.fftfreq" to calculate frequencies, but two question arises here:

1. Using this function, I have to find the frequency in x and y direction , so two numbers, but i need one number for each pixel (I need a matrix the same size as image fill with frequencies correspond to the image pixels)?

2. it starts with zero!!! but as I know after shifting fft, DC component is in the middle so why zero at the beginning?

if anybody knows another way to calculate the frequencies, more than welcome :)

edit retag close merge delete

Sort by » oldest newest most voted

I found the answer on my own, just for those who maybe have the same problem:

x=im.shape[0]
y=im.shape[1]
fft =  np.fft.fft2(im)
fshift = np.fft.fftshift(fft)
#the frequencies will be shifted to the center:
fshx=np.fft.fftshift(np.fft.fftfreq((fft.shape[0])))
fshy=np.fft.fftshift(np.fft.fftfreq((fft.shape[1])))
for i in xrange(x):
for j in xrange(y):
fre = np.sqrt(fshx[i]**2 + fshy[j]**2)


it works for me as I expected, hope its correct :P

more

Official site

GitHub

Wiki

Documentation