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

标签 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.png',l)
plt.imshow(l)
plt.show()

和图像:

enter image description here

考虑到原始图像是灰度的,我不知道为什么它的颜色是这样的,但一次有一个问题。

当我运行完全相同的程序时(在 所有 spyder 最初提供的导入之后),相同的图像查看器打开,但立即关闭....


另一个教程。如果我在命令行上运行此代码,默认的 Windows 8 图像查看器(我不想要)会弹出并显示图像(正确,不像上面的那样着色):

from PIL import Image, ImageFilter

original = Image.open("lena.png")
blurred  = original.filter(ImageFilter.BLUR)

original.show()
blurred.show()

互联网对我一点帮助都没有。所有教程都使用我不习惯的 IPython,并且每个教程都使用不同的方式打开和查看图像。由于我是新手,只是遵循教程,对自己在做什么并没有实际的想法,如果有人能帮助我,我将不胜感激,重点是以下几点:

  • 为什么在 cmd 行图像查看器打开和关闭,而在 spyder 界面上却没有?
  • 我怎样才能运行一个问题来简单地查看一个简单的图像,而不会那么头疼?
  • 如何处理图像(scipy、PIL、..),以及您如何运行/编写程序?

最佳答案

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 设置更改为与您所需的图像编辑器或查看器相关联的格式(例如“PNG”)。

关于python - 通过cmd窗口在Python中打开图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21747083/

相关文章:

python - 避免对子类进行重复验证

android - React-Native:-如何在单个目录中为 android 的不同分辨率提供图像

python替代解决方案scipy空间距离,当前解决方案返回MemoryError

python - 使用 scipy 和 groupby 计算 Kendall 的 tau

python - 如何使用一个类方法来修饰其他类方法?

python - Google App Engine 上的联合身份

javascript - 在 Safari 桌面和 iOS 中分析内存的技术?

c# - 需要删除我自己的应用程序正在使用的文件

matplotlib - 使用 SciPy 树状图,我可以更改线宽吗?

python - error_perm : 550 Permission denied