将imshow对象直接转换为图像以进行边缘检测?

时间:2017-04-13 22:14:07

标签: python edge-detection imshow spectrogram

有没有办法直接在python 2.7代码中将imshow对象转换为图像?我试图获取wav文件的频谱图并使用该图像来检测其中的边缘。 我有代码来获取频谱图,我有代码来检测边缘。现在,我手动保存频谱图,然后检测图像中的边缘。有没有办法直接使用python中的imshow对象?

1 个答案:

答案 0 :(得分:0)

使用PIL,您可以使用:

import PIL
from matplotlib import pyplot as plt
plt.plot(range(5), range(5))
canvas = plt.get_current_fig_manager().canvas
plt.draw()
PIL_image = PIL.Image.frombuffer('RGBA', canvas.get_width_height(), canvas.buffer_rgba())

尝试jupyter,但它的工作原理可能取决于具体的后端,所以请亲自尝试(对我而言,它也反映了图像,但我认为以后很容易修复)。

此外,您只需要绘制没有刻度线的图像,请参阅scipy: savefig without frames, axes, only content