Как узнать форму объекта коллекции изображений - PullRequest
0 голосов
/ 12 июня 2019

Я читаю все изображения папки из следующего кода

from skimage.io import imread_collection
img_dir = 'cats/*.jpg'
col = imread_collection(img_dir)

для получения формы или размера цвета я использовал следующее:

col.shape

но получите AttributeError: 'ImageCollection' object has no attribute 'shape'

как решить эту проблему

Ответы [ 3 ]

1 голос
/ 12 июня 2019

попробуй лен вместо формы.попробуйте col [0] .shape, список каталогов не может иметь форму, изображение сделать.так итерируйте в списке и получите все формы множества изображений.

1 голос
/ 12 июня 2019

Как принятый выше ответ, вы можете использовать len(col), чтобы определить длину коллекции, то есть сколько изображений в коллекции.

Но я думаю, что заголовок вопроса немного вводит в заблуждение, можно подумать, что вы пытаетесь достичь размера (т.е. в байтах) объекта, в этом случае вы можете использовать sys.getsizeof(col), и это будет вернуть размер этого объекта, в байтах, см. этот ответ

P.S. этот ответ должен быть опубликован как комментарий, но я не мог этого сделать, не имея достаточного количества представителей, извиняюсь перед SO-сообществом.


Edit: Если вы заинтересованы в получении размера в байтах объекта, просмотрите другие ответы, опубликованные под на этот вопрос , так как sys.getsizeof() не всегда точен.

1 голос
/ 12 июня 2019

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

Из документов :

>>> coll = io.ImageCollection(data_dir + '/chess*.png')
>>> len(coll)
2
>>> coll[0].shape
(200, 200)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...