4

我正在使用 PyTables 将一些图像存储为Array数据CArray类型。对于这些图像中的每一个,我还想存储一些基本的元数据(例如,EXIF数据)。

我可以想象存储这两种数据格式的多种方法,从将元数据与AttributeSet每个Array/的类一起存储CArray到对所有元数据使用 a Table

我的问题是:如果我希望能够有效地从最终的 hdf5 文件中查询和提取图像进行处理,那么最好的方法是什么?例如,我希望能够提取在特定时间(下午 12 点到 3 点)拍摄的图像并处理该数据子集,然后将副本插入数据库或替换现有数组。

非常感谢您的帮助。

最好的,

缺口

[编辑(澄清):我目前正在将这些图像处理为 NumPy 数组,我希望保留该功能]

4

1 回答 1

1

我对 PyTables 文档的理解建议如下。

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

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

于 2012-07-30T03:32:24.917 回答