我有一个名为all_images
的PIL.Image.Image对象的Python列表,如下所示:
[<PIL.Image.Image image mode=RGB size=192x256 at 0x10855CF8>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x1053AE10>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x106445C0>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x10644E48>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x10644BE0>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x10644C18>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x106447F0>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x146D32B0>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x146D37F0>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x146D3EB8>,
<PIL.Image.Image image mode=RGB size=192x256 at 0x146D3668>]
我想像在tutorial中那样,将它们全部显示在漂亮的网格中。在本教程中,他只是将图像保存到磁盘。我想在Jupyter笔记本中显示它们。
当我执行Image.open(all_images[0])
时,出于某种原因它会在Photoshop中打开。我也尝试过
from IPython.display import Image
Image(all_images[0])
但是PIL.Image.Image
是无效的输入。
答案 0 :(得分:2)
您可以使用IPyPlot package来节省一些麻烦。 使用IPyPlot,您可以显示具有以下简单内容的图像(numpy.arrays,PIL对象或只是URI):
import ipyplot
ipyplot.plot_images(images_list)
答案 1 :(得分:0)
您可以做的是创建自己的Image
对象网格,将其保存为.png
或.jpeg
/ .jpg
,然后使用其他程序包将其显示。
使用PIL
,您可以创建一个新的Image
对象,并将各个Image
对象粘贴到该对象上。例如,假设您要使用4x4网格。您创建了Image
和width=4*width_of_smaller_image
的新height=4*height_of_smaller_image
。然后,从all_images
到paste适当的像素位置上循环。