当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.io.ImageCollection用法及代码示例


用法:

class skimage.io.ImageCollection(load_pattern, conserve_memory=True, load_func=None, **load_func_kwargs)

基础: object

加载和管理图像文件的集合。

参数

load_patternstr 或 str 列表

要加载的模式字符串或字符串列表。文件名路径可以是绝对的或相对的。

conserve_memory布尔型,可选

如果为 True, ImageCollection 在特定时间不会在内存中保留多个。否则,图像将在加载后被缓存。

其他参数

load_func可调用的

imread 默认情况下。请参阅下面的注释。

注意

请注意,文件始终按字母数字顺序返回。另请注意,切片返回一个新的ImageCollection不是对数据的看法。

ImageCollection 可以修改为通过指定以下组合从任意来源加载图像load_patternload_func.对于ImageCollectionic,ic[5]使用load_func(load_pattern[5])加载图像。

例如,想象一个 ImageCollection 从视频文件中每隔三帧加载一次:

video_file = 'no_time_for_that_tiny.gif'

def vidread_step(f, step):
    vid = imageio.get_reader(f)
    seq = [v for v in vid.iter_data()]
    return seq[::step]

ic = ImageCollection(video_file, load_func=vidread_step, step=3)

ic  # is an ImageCollection object of length 1 because there is 1 file

x = ic[0]  # calls vidread_step(video_file, step=3)
x[5]  # is the sixth element of a list of length 8 (24 / 3)

load_func 的另一个用途是将所有图像转换为 uint8

def imread_convert(f):
    return imread(f).astype(np.uint8)

ic = ImageCollection('/tmp/*.png', load_func=imread_convert)

例子

>>> import skimage.io as io
>>> from skimage import data_dir
>>> coll = io.ImageCollection(data_dir + '/chess*.png')
>>> len(coll)
2
>>> coll[0].shape
(200, 200)
>>> ic = io.ImageCollection(['/tmp/work/*.png', '/tmp/other/*.jpg'])

属性

filesstr 列表

如果为load_pattern 给出了模式字符串,则此属性存储扩展的文件列表。否则,这等于load_pattern。

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.io.ImageCollection。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。