我有一个包含大约 20000 张图像的文件夹,我需要为它们生成拇指图像。
完成这项工作的最快方法是什么?
我知道我可以使用一些图像大小调整库来做到这一点。但我想知道也许已经有一个工具或代码片段可以完成这项工作。
我有一个包含大约 20000 张图像的文件夹,我需要为它们生成拇指图像。
完成这项工作的最快方法是什么?
我知道我可以使用一些图像大小调整库来做到这一点。但我想知道也许已经有一个工具或代码片段可以完成这项工作。
imagemagick 转换工具。它是一个命令行工具,在 Linux 和 Windows 中都能很好地工作。
用于转换单个图像:
convert dragon.gif -resize 50% half_dragon.gif
或者,如果您更喜欢固定大小(此处为 4096 像素)的缩略图:
convert dragon.gif -resize 4096@ pixel_dragon.gif
或者最常见的用法 - 调整为给定大小:
convert dragon.gif -resize 64x64 resize_dragon.gif
对于大量图像,可以使用快速调整大小:
调整大小运算符也可以在读取后立即应用于图像,然后将其添加到当前图像序列并读取下一个图像。
所以,
convert dragon.gif'[64x64]' read_dragon.gif
可能是您问题的正确答案。
这些示例取自 imagemagick.org 网站的调整大小部分;您可以在那里找到许多其他示例。
为了转换图像库,您可以编写一个小的 shell 脚本,例如:
for file in `ls`;
do
convert $file -resize 4096@ thumb_$file
done
对于非常大量的文件,您可能希望使用 Linuxfind -exec
来克服ls
会产生的非常长的参数列表。