假设我有大量数据存储在 HDF5 数据文件中(大小:20k x 20k,如果不是更多),我想使用 Python 从所有这些数据创建图像。显然,这么多数据是无法打开并存储在内存中而不会出现错误的。因此,是否有其他库或方法不需要将所有数据转储到内存中然后处理成图像(例如库:Image、matplotlib、numpy 等如何处理它)?
谢谢。
这个问题来自我问的一个类似问题:Generating pcolormesh images from very large data sets saved in H5 files with Python但我认为我在这里提出的问题涵盖了更广泛的应用。
编辑(7.6.2013)
请允许我进一步澄清我的问题:在第一个问题(链接)中,我使用了我能想到的最简单的方法,从存储在多个文件中的大量数据集合中生成图像。该方法是导入数据,使用 matplotlib 生成 pcolormesh 图,然后从该图中保存高分辨率图像。但是这种方法有明显的内存限制。在出现内存错误之前,我只能从文件中导入大约 10 个数据集。
在那个问题中,我问是否有更好的方法可以将数据集(保存在 HDF5 文件中)拼凑成一个图像,而无需将所有数据导入计算机的内存。(我可能需要将 100 个这些数据集拼凑成一个图像。)此外,我需要在 Python 中完成所有操作以使其自动化(因为该脚本需要经常针对不同的数据集运行)。
我在尝试使用各种库使其工作时发现的真正问题是:如何在 Python 中处理高分辨率图像?例如,如果我有一个非常高分辨率的 PNG 图像,我如何使用 Python 操作它(裁剪、拆分、运行 fft 等)?以我的经验,我在尝试导入高分辨率图像时总是遇到内存问题(想想显微镜或望远镜中的高分辨率图片(我的应用程序是显微镜))。是否有任何设计用于处理此类图像的库?
或者,相反,我如何使用 Python 从保存在文件中的大量数据生成高分辨率图像?同样,数据文件可以任意大(如果不是更大,则为 5-6 GB)。
但在我的实际应用程序中,我的问题是:是否有一个库或某种技术可以让我获取从我的设备接收到的所有数据集(保存在 HDF5 中)并将它们修补在一起以生成一个他们所有人的形象?或者我可以将所有数据集保存在一个(非常大的)HDF5 文件中。那我怎么能导入这个文件,然后从它的数据中创建一个图像呢?
我不关心在某些交互式图中显示数据。情节的分辨率并不重要。我可以轻松地使用较低的分辨率,但我必须能够从数据中生成并保存高分辨率图像。
希望这能澄清我的问题。随时询问有关我的问题的任何其他问题。