2

我有一个脚本可以将 8 到 12 张图像保存到本地文件夹。这些图像始终是 GIF。我正在寻找一个 python 脚本来将一个特定文件夹中的所有图像组合成一个图像。组合的 8-12 图像必须按比例缩小,但我也不想损害图像的原始质量(分辨率)(即,当放大组合图像时,它们看起来就像最初那样)

我目前能够做到这一点的唯一方法是将每个图像复制到电源点。

这对python(或任何其他语言,但最好是python)有可能吗?

作为脚本的输入,我将输入仅存储图像的路径(即 C:\Documents and Settings\user\My Documents\My Pictures\BearImages)

编辑:我下载了 ImageMagick 并一直在使用它与 python api 和命令行。这个简单的命令非常适合我想要的:montage "*.gif" -tile x4 -geometry +1+1 -background none combine.gif

4

4 回答 4

1

如果您希望能够放大图像,则不想缩放它们。您必须依靠图像查看器在显示时进行缩放 - 这就是 PowerPoint 现在正在为您做的事情。

输入图像是 GIF,因此它们都包含一个调色板来描述图像中的颜色。如果您的图像并非都具有相同的调色板,则需要在组合它们之前将它们转换为 24 位颜色。这意味着输出不能是另一个 GIF;好的选择是 PNG 或 JPG,这取决于您是否可以容忍图像质量的一些损失。

您可以使用PIL读取图像、组合它们并写入结果。您需要创建一个与最终结果大小相同的新图像,并将每个较小的图像复制到它的不同部分。

于 2012-07-06T19:38:37.083 回答
0

最简单的做法是将图像转换为 numpy 矩阵,然后构建一个新的、更大的 numpy 矩阵来容纳所有图像。然后将 np 矩阵转换回图像。当然它会很大,所以你可能想要下采样。

于 2013-05-10T15:01:16.357 回答
0

看看Python 图像库
手册包含几个关于打开文件、合并文件和保存结果的示例。

于 2012-07-06T19:03:59.120 回答
0

您可能希望将图像处理部分外包给ImageMagick。它有一个蒙太奇命令,可以让你到达那里的 90%;只需将一些选项和目录中文件的名称传递给它。

于 2012-07-06T20:18:11.677 回答