我想使用PIL或scipy库来打开和查看图像(以及来自numpy和scipy的东西),但是我无法有效地运行程序并让它工作。我在互联网上关注的每件事都给了我不同的结果,这让我发疯了
首先,我安装了WinPython。我讨厌“spyder”和IPython接口,我宁愿在Notepad ++上编写我的代码并在命令行上运行它。
如果我在spyder界面上运行这组命令,图像将在图像查看器中打开:
from scipy import misc
l = misc.lena()
misc.imsave('lena.png',l)
plt.imshow(l)
plt.show()
图片:
我没有最微弱的线索,为什么它的颜色是这样的,因为原始图像是灰度的,但一次只有一个问题。
当我运行相同的程序时(在所有之后spyder最初提供的导入),同一个图像查看器打开,但立即关闭 ....
另一个教程。如果我在命令行上运行此代码,则弹出默认的Windows 8图像查看器(我不想要)并显示图像(正确,不像上面那样着色):
from PIL import Image, ImageFilter
original = Image.open("lena.png")
blurred = original.filter(ImageFilter.BLUR)
original.show()
blurred.show()
互联网根本没有帮助我。所有教程都使用我不习惯的IPython,每个教程都使用不同的方式来打开和查看图像。由于我是新手,只是按照教程,并没有真正了解我在做什么,如果有人可以帮助我,我会很感激,关注以下几点:
答案 0 :(得分:2)
misc.lena()
的docstring中的示例实际上是:
>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(lena)
>>> plt.show()
生成灰度图片。
plt.gray()
将默认色彩映射设置为灰色,并将其应用于当前图像(如果有)。
您的图像关闭可能是因为在程序运行结束后,内存中不再存在图像对象。尝试在程序结束后保持程序运行(更简单的方法是在结尾处包含raw_input('enter any key to close')
行)
您的上一个问题与pyplot和PIL如何显示图像有关。 Pyplot使用matplotlib,但PIL im.show()
只是调用默认的系统图像查看器来为它在内存中的图像提供扩展。此扩展程序可以通过将im.format
设置更改为所需图像编辑器或查看器所关联的格式(p.e。“PNG”)。