首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleCV中的快速傅立叶变换?

SimpleCV中的快速傅立叶变换?
EN

Stack Overflow用户
提问于 2014-04-24 08:48:06
回答 1查看 113关注 0票数 0

我正在探索SimpleCV,它是Python语言中的一个图像库,看起来非常不错。然而,我对如何在SimpleCV中对图像执行快速傅立叶变换感到困惑。看起来我必须先转换成numpy数组,然后再使用numpy工具:

代码语言:javascript
复制
import SimpleCV as SV
im = Image('image.png')
img = im.getGrayNumpy()
imf = np.fft.fftshift(np.fft.fft2(img))
plt.imshow(log(abs(imf)+1),cmap=cm.gray)

或者这是最好的方式?当然,如果我想将快速傅立叶变换频谱的对数转换成SimpleCV图像供以后使用,那就是另一个问题了。

EN

回答 1

Stack Overflow用户

发布于 2014-07-25 22:24:10

您可以使用Image()构造函数将numpy矩阵带回SimpleCV

代码语言:javascript
复制
import scipy
import numpy as np
import SimpleCV as scv

cam = scv.Camera()
disp = scv.Display()

while disp.isNotDone():
    current = cam.getImage().resize(w=768)

    matrix = current.getGrayNumpy()
    spectrum = np.abs(np.log(np.fft.fftshift(np.fft.fft2(matrix))))

    spectrum *= 255 / spectrum.max()

    scv.Image(spectrum).show()

    if disp.mouseLeft:
        break
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23257852

复制
相关文章

相似问题

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