传递对 fft 函数的引用时,输出数组的大小应该是多少?图像处理

Posted

技术标签:

【中文标题】传递对 fft 函数的引用时,输出数组的大小应该是多少?图像处理【英文标题】:what size should the output array be when pass reference to fft function? Image processing 【发布时间】:2018-11-20 00:50:20 【问题描述】:

如何计算 fft 函数的输出数组大小? 我使用的是 swift 4 和 Accelerate 框架 (func vDSP_fft_zop),但我认为没关系。如果我们使用 1d 和 2d 像素数组还有什么区别?

【问题讨论】:

【参考方案1】:

输出数组大小等于输入一:1024 个复数对给出 1024 个复数对。

FFT 通常适用于 2^N(256、1024、2048 等)这样的大小(如果数据大小较小 - 用零填充其余部分),但某些实现可以适用于任意大小。

2d FTT 的数据组织可能取决于实现(例如,2D 库 FFTW 需要具有 [K+1][K] 维度的数组),因此请查看文档以获取线索

【讨论】:

以上是关于传递对 fft 函数的引用时,输出数组的大小应该是多少?图像处理的主要内容,如果未能解决你的问题,请参考以下文章

是否应该始终将函数用于传递数组或对象的 setState?

PHP 中的数组是作为值复制还是作为对新变量的引用,以及何时传递给函数?

传递可变大小的多维数组

指针数组内容在传递给 C 中的函数时被擦除

使用通过引用传递的字符串数组到运行时加载的 dll 函数

FFT后如何得到幅度和对应的频率