我试图弄清楚如何通过 python 将多个图像与 vip 结合起来。我在一个文件夹中有 30 个(但可以超过 600 个)条纹 png 文件,它们的分辨率为 854x289920(所有分辨率都相同)...
如果我尝试使用 MemmoryError 将它们水平连接在一起,Python 中的 PIL 将立即失效。所以我到处搜索,发现 VIPS 可以做我需要加入图像并根据结果制作深度缩放图像的两件事。
不幸的是我不知道如何在 python 中正确地水平连接它们。
我在数组中有一个来自文件夹的图像列表,但是我如何循环遍历它们并按顺序将连接的图像写入磁盘?
仅供参考,您也可以在命令行中执行此操作。尝试:
vips arrayjoin "a.png b.png c.png" mypyr.dz --across 3
将水平连接三个 PNG 图像并将结果保存为名为 deepzoom 金字塔mypyr
。 arrayjoin 文档具有所有选项:
https://www.libvips.org/API/current/libvips-conversion.html#vips-arrayjoin https://www.libvips.org/API/current/libvips-conversion.html#vips-arrayjoin
您可以通过将金字塔构建器参数括在方括号中来指定金字塔构建器参数.dz
.
vips arrayjoin "a.png b.png c.png" mypyr.dz[overlap=0,container=zip] --across 3
在 Windows 上,deepzoom 金字塔的写入速度可能非常慢,因为 Windows 讨厌创建文件,并且讨厌巨大的目录。如果你写的是container=zip
,vips会直接创建一个包含金字塔的.zip文件。这使得金字塔的创建速度提高了大约 4 倍。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)