关于使用Python显示图像的快速问题,
之间的区别im = Image.fromarray(noisyImage)
im.show(noisyImage)
我明白了:
http://s30.postimg.org/xbkxly81t/other.png
然后,当我使用matplotlib时,我得到了这个:
plt.imshow(noisyImage)
plt.show()
http://s30.postimg.org/64odx64ap/mtlibplt.png
请有人解释为什么,当它的图像相同时,只是不同的显示方法?真迷茫!!颜色甚至来自matplotlib?
还看到第一张图片顶部的所有噪音?如果我不试图改变图像它是好的。感谢
感谢您的帮助。
答案 0 :(得分:1)
PIL的show
是一个便利功能,它使用os.system
来调用您计算机上某些依赖操作系统的图像查看器。
您可以找出用于显示图像的命令 通过这样做:
In [37]: import ImageShow
In [38]: [viewer.get_command_ex('file')[0] for viewer in ImageShow._viewers]
Out[38]: ['display']
所以在我的Unix机器上,PIL的show
正在使用imagemagick的display
程序。
Matplotlib的plt.show
函数使用tk
,例如gtk
,pyqt
,wxpython
或{{1}}绘制图。