Vla*_*tos 4 python image image-processing vips
我试图弄清楚如何通过 python 将多个图像与 vips 结合起来。我在一个文件夹中有 30 个(但可以超过 600 个)条纹 png 文件,它们的分辨率为 854x289920(所有分辨率都相同)...
如果我尝试使用 MemmoryError 将它们水平连接在一起,Python 中的 PIL 将立即失效。所以我到处搜索,发现 VIPS 可以做我需要加入图像并根据结果制作深度缩放图像的两件事。
不幸的是我不知道如何在 python 中正确地水平连接它们。
我在数组中有一个来自文件夹的图像列表,但是我如何循环遍历它们并按顺序将连接的图像写入磁盘?
仅供参考,您也可以在命令行中执行此操作。尝试:
vips arrayjoin "a.png b.png c.png" mypyr.dz --across 3
Run Code Online (Sandbox Code Playgroud)
将水平连接三个 PNG 图像并将结果保存为名为 的 DeepZoom 金字塔mypyr。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
Run Code Online (Sandbox Code Playgroud)
在 Windows 上,deepzoom 金字塔的写入速度可能非常慢,因为 Windows 讨厌创建文件,并且讨厌巨大的目录。如果使用 编写container=zip,vips 将直接创建包含金字塔的 .zip 文件。这使得金字塔的创建速度提高了大约 4 倍。