使用PyTables存储图像和元数据。

4
我正在使用PyTables将一些图像作为ArrayCArray数据类型存储。对于这些图像中的每一个,我还想存储一些基本元数据(例如,EXIF数据)。
我可以想象出许多方法来存储这两种数据格式,从为每个Array/CArray使用AttributeSet类存储元数据到使用Table存储所有元数据。
我的问题是:如果我想能够高效地查询和提取最终的hdf5文件中的图像进行处理,哪种方法是最好的?例如,我想能够提取在某些时间(12-3pm)拍摄的图像并处理该数据子集,然后将复制插入数据库或替换现有数组。
非常感谢您的帮助。
最好,
Nick
[编辑(澄清):我目前正在将这些图像处理为NumPy数组,并希望保留该功能]

请点击此处查看有关HDF5的技巧和示例:http://machinelearninguru.com/deep_learning/data_preparation/hdf5/hdf5.html - cxrodgers
1个回答

1

根据我对PyTables文档的理解,建议如下:

创建一个表格。为您感兴趣的每个元数据创建一列。如果您的图像大小相同,并且在创建表格时已知,请创建一个数组列并将它们存储在那里。如果图像大小不同,请创建一个带有每个图像唯一标识符(相当于文件名)的列,然后创建一个新组并为每个图像创建一个数组/压缩数组,名称与上述表格中的列表相同。

另一个选择是使用轻量级关系型数据库(甚至是sqlite)来存储表格,这将允许轻松查询/排序等,但保留实际图像数组在h5文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接