如何生成拇指图像?

Yin*_*Zhu 2 resize image-manipulation image imagemagick image-resizing

我有一个大约20000张图像的文件夹,我需要为它们生成拇指图像.

做这项工作的最快方法是什么?

我知道我可以使用一些图像大小调整库来做到这一点.但我想知道可能已经有一个工具或代码片段可以完成这项工作.

Ada*_*tan 6

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可能产生的非常长的参数列表.