问题
在线性欧拉视频关于窄频规律性运动放大中使用的理想带通滤波器会存在内存不足的问题。
也就是amplify_spatial_lpyr_temporal_ideal(…)里的ideal_bandpassing(…)函数
这个函数是将整个视频的所有帧的所有点进行F = fft(input_shifted,[],1)函数的FFT变换
而
一维FFT的时间复杂度为O(NlogN),其中N表示数据长度
一个MN的二维数据,FFT的时间复杂度为O( MNlog(M*N) )
即这样的处理是非常消耗内存的
解决
在amplify_spatial_lpyr_temporal_ideal(…)函数中添加以下代码
temp = struct('cdata', zeros(vidHeight, vidWidth, nChannels, 'uint8'),