问题:我有一个 PyQt4 GUI 应用程序,它必须导入 16 位灰度图像数据并对图像进行一些计算。Gui 有一些控制元素和一个带有两个选项卡的 QTabWidget() 元素,其中一个显示图像,另一个在表格中表示计算结果。图像表示是使用 Matplotlib 完成的。
在我的应用程序中,我应该能够打开最大 10000x12500 像素的图像,这对应于 250MB 的图像数据。不幸的是,我的应用程序只能打开大约 130MB 大小的图像。导入和显示大于 8000x8000 像素的数据时,我的应用程序停止显示内存错误。虽然图像本身大小为 128MB,但 Windows 任务管理器显示 python 任务使用的内存为 694MB。无法再显示 8000x9000 像素大小的图像。
我的电脑有 4GB 的 RAM 内存。我不认为这个问题是由于内存不足造成的。
问题:如何让我的应用程序显示尺寸最大为 10000x12500 像素灰度 16 位的图像?我可以修改 Matplotlib 内部限制吗?
我搜索了网络,但没有找到任何答案。与我的问题最接近的问题描述可以在 Matplotlib imshow 中的 Excessive memory usage 中看到。但是将显示命令从 show() 更改为 draw() 并没有帮助。
非常感谢您的帮助。