早上好,
设置:
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>
有什么想法吗?
答案 0 :(得分:1)
IPython(交互式python)在控制台中无法正常工作。
但是,例如在jupyter笔记本电脑中,一切都很好:
还有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()