将数以千计的图像调整/压缩到合理的大小

4 software-rec images

可能的重复:将
JPEG 图像批量“调整大小”到固定文件大小的
快速批量图像调整器

我有数以千计的图像(90 GB),主要是文件,以及与员工相关的东西,如护照复印件等。这些文档中的大多数都过大并以高 DPI(300 或 200)扫描。随机抽样每个文件的平均大小为 500KB-1MB,我可以调整它们的大小或将它们压缩到小于 100KB,即使使用 MSPain 也只需很少的工作。是否有任何软件可以帮助我以更简单的方式完成这项工作,因为几乎不可能一一打开它们并调整它们的大小。

evi*_*oup 6

Imagemagick可以调整图像大小

convert input.jpg -resize 600x600 output.jpg
Run Code Online (Sandbox Code Playgroud)

请注意,这将为每一面设置最大尺寸,但会保持纵横比。因此,使用上述命令调整大小的 1200x1000 图像将被缩放为 600x500 像素,而 1000x1200 图像将被调整为 500x600。

当然,您可以将其放入脚本中。在 bash 上,要将*.jpg目录中的每个转换为 600x600 jpg:

for f in ./*.jpg; do convert "$f" -resize 600x600 "${f%.jpg}-resized.jpg"; done
Run Code Online (Sandbox Code Playgroud)

递归地做同样的事情:

find . -type f -name *.jpg -exec bash -c 'convert "$0" -resize 600x600 "${0%.jpg}-resized.jpg"' {} \;
Run Code Online (Sandbox Code Playgroud)

我不知道如何在 Windows 命令行/批处理脚本上执行这些操作,但我知道这是可能的。

如果你想覆盖你的原始文件,你可以使用 ImageMagick 的mogrify命令:

mogrify input.jpg -resize 600x600
Run Code Online (Sandbox Code Playgroud)

这具有能够使用 shell 扩展的额外优势,因此您可以调整目录中每个 *.jpg 的大小,而无需求助于 for 循环:

mogrify ./*.jpg -resize 600x600
Run Code Online (Sandbox Code Playgroud)

要递归使用它,您必须将其放入 find 命令中,如下所示convert

find . -type f -name *.jpg -exec mogrify '{}' -resize 600x600 \;
Run Code Online (Sandbox Code Playgroud)


nix*_*xda 5

Xnconvert(便携式)可以处理数千张图像

对于你的情况你可以尝试

  • 设置较低的 DPI
  • 调整大小至较低分辨率
  • 选择其他文件格式
  • 选择另一种压缩方式

在此输入图像描述