如何知道图像采集对象的形状
How to know shape of image collection object
我正在通过以下代码读取一个文件夹的所有图像
from skimage.io import imread_collection
img_dir = 'cats/*.jpg'
col = imread_collection(img_dir)
为了获得 col 的形状或大小,我使用了以下方法:
col.shape
但得到AttributeError: 'ImageCollection' object has no attribute 'shape'
如何解决这个问题
ImageCollection
是图像列表,因此您必须使用索引访问单个图像。
来自docs:
>>> coll = io.ImageCollection(data_dir + '/chess*.png')
>>> len(coll)
2
>>> coll[0].shape
(200, 200)
尝试使用 len 而不是 shape。尝试 col[0].shape ,目录列表不能有形状,图像有。所以在列表中迭代并获得许多图像的所有形状。
作为上面接受的答案,您可以使用len(col)
来确定collection的长度,即collection中有多少张图片。
但我认为问题标题有点误导,有人可能会认为您要实现的是获取 object 的大小(即以字节为单位),在这种情况下,您可以使用sys.getsizeof(col)
并且这将 return 这个 object 的大小,以字节为单位,参见 this answer
P.S。这个答案应该作为评论发布,但我不能这样做,因为没有足够的代表,向 SO 社区道歉。
编辑:
如果您有兴趣获取 object 的字节大小,请查看 this question 下发布的其他答案,因为 sys.getsizeof()
并不总是准确的。
我正在通过以下代码读取一个文件夹的所有图像
from skimage.io import imread_collection
img_dir = 'cats/*.jpg'
col = imread_collection(img_dir)
为了获得 col 的形状或大小,我使用了以下方法:
col.shape
但得到AttributeError: 'ImageCollection' object has no attribute 'shape'
如何解决这个问题
ImageCollection
是图像列表,因此您必须使用索引访问单个图像。
来自docs:
>>> coll = io.ImageCollection(data_dir + '/chess*.png')
>>> len(coll)
2
>>> coll[0].shape
(200, 200)
尝试使用 len 而不是 shape。尝试 col[0].shape ,目录列表不能有形状,图像有。所以在列表中迭代并获得许多图像的所有形状。
作为上面接受的答案,您可以使用len(col)
来确定collection的长度,即collection中有多少张图片。
但我认为问题标题有点误导,有人可能会认为您要实现的是获取 object 的大小(即以字节为单位),在这种情况下,您可以使用sys.getsizeof(col)
并且这将 return 这个 object 的大小,以字节为单位,参见 this answer
P.S。这个答案应该作为评论发布,但我不能这样做,因为没有足够的代表,向 SO 社区道歉。
编辑:
如果您有兴趣获取 object 的字节大小,请查看 this question 下发布的其他答案,因为 sys.getsizeof()
并不总是准确的。