通过cmd窗口在Python中打开图像

通过cmd窗口在Python中打开图像,python,image,scipy,python-imaging-library,Python,Image,Scipy,Python Imaging Library,我试图使用PIL或scipy库打开和查看图像(以及numpy和scipy中的内容),但我无法有效地运行程序并使其正常工作。我在互联网上关注的每一件事都会给我带来不同的结果,这让我发疯 首先,我安装了WinPython。我讨厌“spyder”和IPython接口,我宁愿在Notepad++上编写代码并在命令行上运行 如果在spyder界面上运行这组命令,图像将在图像查看器中打开: from scipy import misc l = misc.lena() misc.imsave('lena.pn

我试图使用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图像查看器(我不需要),并显示图像(正确,颜色与上面的不同):


互联网对我一点帮助都没有。所有教程都使用我不习惯的IPython,每个教程都使用不同的方式打开和查看图像。由于我是新来的,只是在学习教程,对自己正在做的事情没有实际的了解,如果有人能帮助我,我将不胜感激,重点关注以下几点:

  • 为什么cmd line图像查看器会打开和关闭,而在spyder界面上则不会
  • 我如何运行一个问题来简单地查看一个简单的图像,而不会有这么多的头痛
  • 如何处理图像(scipy、PIL等),以及如何运行/编写程序

杂项lena()文档字符串中的示例实际上是:

>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(lena)
>>> plt.show()
这会产生灰度图像

plt.gray()
将默认颜色映射设置为灰色,并将其应用于当前图像(如果有)


您的图像关闭可能是因为程序运行并结束后,内存中不再有图像对象。尝试在程序“结束”后保持程序运行(更简单的方法是在末尾包含
raw\u输入(“输入任意键以关闭”)
行)


最后一个问题与pyplot和PIL如何显示图像有关。Pyplot使用matplotlib,但PIL
im.show()
只是调用默认的系统图像查看器,以获得它为内存中的图像提供的扩展。此扩展可以通过将设置
im.format
更改为所需图像编辑器或查看器关联的格式(即“PNG”)

>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(lena)
>>> plt.show()