Arrays 如何根据极坐标将矩阵划分为一系列单元

Arrays 如何根据极坐标将矩阵划分为一系列单元,arrays,coordinates,fft,bin,Arrays,Coordinates,Fft,Bin,我正试图用Octave/Matlab编写一个程序,目的是拍摄一幅图像,对该图像执行2D快速傅里叶变换,然后获取FFT数据,并将其划分为一系列单元,从中可以计算出平均FFT强度。这些箱子需要计算该光谱每5度段的傅里叶光谱强度: i、 e.想象一个500x500阵列,然后将其分成72个相等的切片(就像切比萨饼一样),每个切片间隔5度。然后,这些切片形成存储箱,并计算其中值的平均值 我知道要产生这个,我必须将得到的FFT的笛卡尔坐标转换成极坐标,这样我就可以使用θ的值来计算箱子。此外,要像比萨饼一样分

我正试图用Octave/Matlab编写一个程序,目的是拍摄一幅图像,对该图像执行2D快速傅里叶变换,然后获取FFT数据,并将其划分为一系列单元,从中可以计算出平均FFT强度。这些箱子需要计算该光谱每5度段的傅里叶光谱强度:

i、 e.想象一个500x500阵列,然后将其分成72个相等的切片(就像切比萨饼一样),每个切片间隔5度。然后,这些切片形成存储箱,并计算其中值的平均值

我知道要产生这个,我必须将得到的FFT的笛卡尔坐标转换成极坐标,这样我就可以使用θ的值来计算箱子。此外,要像比萨饼一样分割阵列,极坐标必须源自图像的中心。我有一个很好的主意如何做到这一点,但我被困在如何分割阵列到垃圾箱一旦我完成了这一点


有人能帮忙吗?假设这个解释是有道理的?

事实上,它并不完全清楚

但我假设你是指傅里叶域中的极坐标,在这种情况下,你可以从
atan2(f_y,f_x)
中得到每个点的角度,其中
f_y
f_x
是傅里叶域中的y和x坐标。对于FFT,它们通常通过排序与数组索引相关

f = [0, 1, 2, ..., n/2-1, -n/2, ..., -1]
有关matlab,请参见