如果图像是while循环的一部分,则不会加载该图像。例如,下面的代码如预期的那样工作:
from IPython.display import Image
Image(filename='someimage.jpg')
但这是行不通的:
while True:
Image(filename='someimage.jpg')
break
更新:
如何显示列表中的多个图像?
发布于 2015-01-30 23:02:29
这在这里运行得很好:
from IPython.display import display, Image
path1 = "/some/path/to/image1.png"
path2 = "/some/path/to/image2.png"
for path in path1, path2:
img = Image(path)
display(img)
发布于 2017-01-24 14:16:28
在IPython notebooks中工作时,解释器在作为单独的命令键入时会给出响应。
举个例子:
>>>>a = 5
>>>>a
5
但是如果我们在函数或循环中做同样的事情,我们将得不到响应。
因此,如果您想要显示循环/函数中的图像,则必须使用显示函数(IPython.display.display)
from IPython.display import display, Image
for image_path in images: # images is a list of paths
display(Image(image_path))
所以image函数返回一个图像。当它在解释器中时,它将被显示,否则它将不会被显示。为了确保它被显示,我们使用了display函数。
这类似于print命令。在解释器中时,不需要使用print命令来查看变量,而在运行程序时则需要使用print命令。
发布于 2017-09-07 15:09:06
我尝试了选择的答案,几乎所有其他的东西,但无论我尝试什么,它只会显示最后一张照片。我终于能够让它与matplotlib一起工作。
import glob
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
def display_photo(path):
print("File: {}".format(path))
img = mpimg.imread(path)
imgplot = plt.imshow(img)
plt.show()
for path in glob.iglob('my_photos/*'):
display_photo(path)
https://stackoverflow.com/questions/28237210
复制相似问题