mat*_*tj1 7 memory linux png decoding image-editing
我设法生成了一个带有分形的 PNG 图像。
该图像高 65,536 像素,宽 65,536 像素。它太大了,无法解码到内存中并显示出来。它的边界附近可能有很多未使用的空间,我想修剪它以显着减少其面积。
我尝试了 GIMP 和 GraphicsMagick,但 GIMP 冻结了我的计算机并且 GraphicsMagick 未能为图像分配足够的内存。
我使用 Linux,我有 16GB 的 RAM。压缩后的图像大小为 6.2MB。
我可以在不将图像完全加载到内存中的情况下修剪边框吗?
FWIW,最后我使用了我学校的服务器,但我仍然想知道答案。
小智 0
您已经知道图像的笛卡尔定义。
考虑一些 Python 代码以合理大小的缓冲区负载读取文件 - 每个缓冲区选择一行或多行图像像素,但就内存可用性而言足够少。
在大多数像素线上,最左边和最右边的“边界”像素可以被丢弃。前几条和最后几条“边界”线类似。
根据定义,输出文件的缓冲区大小可以并且将会与输入文件的缓冲区大小不同。