首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用scipy.fftpack时出现内存错误,如何避免?

使用scipy.fftpack时出现内存错误,如何避免?
EN

Stack Overflow用户
提问于 2013-06-24 01:14:28
回答 1查看 2K关注 0票数 3

我需要用Python从.tiff医学图像中计算傅立叶系数。代码会产生一个内存错误:

代码语言:javascript
复制
for filename in glob.iglob ('*.tif'):
        imgfourier = scipy.misc.imread (filename, flatten = True)
        image = numpy.array([imgfourier])#make an array 
         # Take the fourier transform of the image.
        F1 = fftpack.fft2(image)
         # Now shift so that low spatial frequencies are in the center.
        F2 = fftpack.fftshift(F1)
         # the 2D power spectrum is:
        psd2D = np.abs(F2)**2
        print psd2D

任何帮助都将不胜感激!谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-06-24 02:02:40

我发现了this discussion,他们发现了scipy.fftpack中的内存泄漏,建议改用numpy.fft包。此外,您还可以避免使用中间变量来节省内存:

代码语言:javascript
复制
import numpy as np
import glob
import scipy.misc
for filename in glob.iglob('*.tif'):
    imgfourier = scipy.misc.imread (filename, flatten = True)
    print np.abs(np.fft.fftshift(np.fft.fft2(np.array([imgfourier]))))**2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17263241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档