Отображение списка Python PIL.Image.Image в виде сетки изображений в Jupyter Notebook - PullRequest
0 голосов
/ 29 июня 2018

У меня есть список Python объектов PIL.Image.Image, который называется all_images примерно так:

[<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>]

Я бы хотел отобразить их все в красивой сетке, как в этом уроке . В уроке он просто сохраняет изображения на диск; Я хотел бы отобразить их в блокноте Jupyter.

Когда я делаю Image.open(all_images[0]), это почему-то открывается в Photoshop. Я тоже попробовал

from IPython.display import Image 
Image(all_images[0])

, но PIL.Image.Image неверный ввод.

1 Ответ

0 голосов
/ 29 июня 2018

Что вы можете сделать, это создать собственную сетку из Image объектов, сохранить ее как .png или .jpeg / .jpg, а затем отобразить ее в другом пакете.

Используя PIL, вы можете создать новый объект Image и вставить на него отдельные Image объекты. Например, скажем, вы хотите сетку 4х4. Вы создаете новые Image из width=4*width_of_smaller_image и height=4*height_of_smaller_image. Затем, зацикливаясь на соответствующих местах пикселей, вставьте из all_images на него.

...