IPython显示仅输出到ST3的控制台

时间:2018-02-12 10:30:47

标签: python

早上好,

设置:

Windows 7(我知道)

Sublime Text 3

Python 3.6

我的问题:

我在一个文件中有一些28x28图像,比如其中一个图像位于相对路径' MyDir / myimage.png'

我尝试使用包 IPython

中的 display 模块显示示例图像
from IPython.display import display,Image

img=Image(filename='MyDir/myimage.png')

display(img)

问题在于,它不是在图中输出图像,而是仅在控制台中输出对象img的类型(显示仅在控制台中显示)。

输出

<IPython.core.display.Image object>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

IPython(交互式python)在控制台中无法正常工作。

但是,例如在jupyter笔记本电脑中,一切都很好:

enter image description here

还有qtconsole,听起来像是一个更像控制台的jupyter笔记本。我还没有检查过,因为在vscode和jupyter笔记本之间,到目前为止我还不错。

要了解更多信息,您可以搜索jupyter和qt之类的工具之间的比较。并查看IPython文档。但是,如果您只希望该死的东西向您显示图像,则可以在jupyter等中运行python脚本。或使用answer to another question所提及的PIL

此外,您可以使用matplotlib.pyplot来显示图像(这在jupyter的控制台中有效):

from matplotlib.pyplot import figure, imshow, axis, show
from matplotlib.image import imread
import numpy as np
import os

imageDirectory = "c:\\some\\directory\\of\\images"
list_of_files = np.array(os.listdir(imageDirectory))[0:20] # just show the first 20 images
fig = figure()
number_of_files = len(list_of_files)
for i in range(number_of_files):
    a=fig.add_subplot(1,number_of_files,i+1)
    image = imread(os.path.join(imageDirectory, list_of_files[i]))
    imshow(image,cmap='Greys_r')
    axis('off')

show()