将图像编码到声音的傅立叶域中

时间:2011-09-21 10:36:25

标签: iphone fft

我正在尝试将图像转换为可以在您查看该声音的频谱图时可以看到图像的声音。有点像aphex twin在window licker中所做的那样。

到目前为止,我已经编写了一个iPhone应用程序拍摄照片,然后将其转换为灰度。然后我使用这个灰度作为一个幅度,我想通过逆FFT插回。

我遇到的问题是如何从量级变为想象和真实部分。

mag = sqrtf( (imag * imag) + (real * real));

显然我无法解决2个未知数。此外,我无法确定这些真实和虚构的部分是否是否定的。

所以我有点失落。一定是可能的。有人能指出我一些有用信息的方向吗?

2 个答案:

答案 0 :(得分:2)

频谱图不包含相位信息,因此您可以将虚部设置为0并将实部设置为等于幅度。请记住,如果要在应用逆FFT后最终得到纯实时域信号,则需要保持复共轭对称性。

答案 1 :(得分:1)

数学人士对于从灰度级重生是正确的,但为什么要限制自己呢?您是否考虑过将部分相位信息保留在颜色通道中?

具体来说,为什么不将LEFT通道处理为BLUE,将RIGHT通道处理为RED,对于GREEN颜色元素,再次在(LEFT-RIGHT)处运行转换,以便您有三个光谱。

在“环绕声”的一个版本中,L-R对后声道进行编码 - 那里有好东西。

重新生成声音时,请将“实际”值指定给相应的通道。 尝试以下(公式 - 但这个编辑器坚持称他们为代码..)

LEFT.real=+BLUE
RIGHT.real=+RED
LEFT.imag=+GREEN
RIGHT.imag=-GREEN

尝试对此进行修改,同时通过某种环绕声设置进行聆听,以查看哪种提供最令人满意的结果。确保不要将物体驱动到削波状态,因为发生相位变化,复杂饱和信号的再生可能会造成削波。