将imshow对象直接转换为图像进行边缘检测?
问题描述:
有没有办法将imshow对象直接转换为python 2.7代码中的图像?我试图获取wav文件的光谱图,并使用图像来检测它的边缘。 我有代码来获取谱图,我有代码来检测边缘。现在,我手动保存光谱图,然后检测图像中的边缘。有没有办法直接与python中的imshow对象?将imshow对象直接转换为图像进行边缘检测?
答
使用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。
请问您可以添加您使用的代码吗? – lolopop