我正在使用PyTables将一些图像存储为Array
和CArray
数据类型。对于这些图像中的每一个,我还想存储一些基本元数据(例如,EXIF数据)。
我可以设想一些存储这两种数据格式的方法,从存储每个AttributeSet
/ Array
CArray
类的元数据到使用{{1对于所有元数据。
我的问题是:如果我希望能够有效地查询和提取最终hdf5文件中的图像进行处理,那么最佳方法是什么?例如,我希望能够提取在特定时间(12-3pm)拍摄的图像并处理该数据子集,然后将副本插入数据库或替换现有数组。
非常感谢你的帮助。
最佳,
尼克
[编辑(澄清):我目前正在将这些图像作为NumPy数组处理,我希望保留该功能]
答案 0 :(得分:1)
我对PyTables文档的理解建议如下。
创建一个表格。为您感兴趣的每个元数据创建一列。如果您的图像大小相同,并且在创建表时已知,则创建一列数组并将其存储在那里。如果图像大小不同,请为每个图像创建一个具有唯一标识符的列(文件名的功能等效物),然后创建一个新组并为每个图像创建一个数组/ carray,其名称与上述表中的列表相同。
另一种选择是使用轻量级RDMS(sqlite even)来存储表,这样可以轻松查询/排序等,但是将实际的图像数组保存在h5文件中。