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