图像处理小技巧:轻松批量修改图片尺寸

原创 davidjp  2023-06-19 20:29 

最近我手上有一个项目,需要批量修改JPG图片文件的尺寸,目标尺寸是180x135像素。一开始我想尝试从网上找一些批量修改图片尺寸的软件,可惜下载了几个后发现它们都要收费,所以我果断放弃了那些软件,决定自己动手通过编写代码来实现。这样不仅可以省去一笔费用,还能满足自己的定制化需求。

于是我尝试使用 Python 和 PIL 库(Python Imaging Library)的方法来批量修改图片尺寸

如果还没安装PIL库,可以通过下面代码进行安装:

pip install pillow

安装完PIL库,就可以使用Pillow库来修改图片尺寸了,示例代码如下:

from PIL import Image
import os

# 设置原始图片文件夹和目标图片文件夹路径
input_folder = "输入文件夹路径"
output_folder = "输出文件夹路径"

# 获取原始图片文件夹中的所有文件
files = os.listdir(input_folder)

# 遍历每个文件
for file in files:
# 检查文件是否为JPG图片
if file.endswith(".jpg"):
# 拼接文件路径
input_path = os.path.join(input_folder, file)

# 打开图像
image = Image.open(input_path)

# 修改图像尺寸(这里设置为200x200像素)
resized_image = image.resize((200, 200))

# 构建输出文件路径
output_path = os.path.join(output_folder, file)

# 保存修改后的图像
resized_image.save(output_path)

# 关闭图像
image.close()
resized_image.close()

print("图片尺寸修改完成!")

当然,除了使用 Python,还有其他一些方法可以批量处理 JPG 图片的尺寸。

比如命令行工具,许多命令行工具都可用于批量处理图像,其中一种常见的工具是 ImageMagick

ImageMagick 提供了强大的命令行接口,可以用于自动化和批处理操作。

只需编写命令行来批量调整图片尺寸,并使用脚本或命令行循环来处理多个文件。

例如,在 Linux 或 macOS 系统上,可以使用以下命令调整图片尺寸:

mogrify -path 输出文件夹路径 -resize 180x135! 输入文件夹路径/*.jpg

无论是在 Linux、macOS 还是 Windows 等操作系统上,都可以从 ImageMagick 的官方网站(https://imagemagick.org/)下载最新版本的软件包,并按照相关说明进行安装。请确保从官方网站下载,以确保获得可靠和安全的软件版本。

比如我自己用的笔记本操作系统是Windows 10,在上面的网址找到 Windows 下载部分,并选择适合系统的安装程序。通常会有 32 位和 64 位版本可供选择。如果不确定系统是 32 位还是 64 位,可以按下快捷键 Win + Pause/Break 打开系统属性,然后在系统类型下查看。

下载对应的安装程序,双击运行并按照安装程序引导选择默认选项完成安装即可。需要注意的是必须确保在安装程序提示时勾选 "Install legacy utilities (e.g. convert)",这将安装 ImageMagick 的常用命令行工具。待安装完成后,就可以在开始菜单中找到 ImageMagick 的可执行文件和其他实用程序(如下图所示)。

imagemagick

如果想在命令行中使用 ImageMagick 的工具,就需要打开命令提示符或 PowerShell 窗口,然后尝试运行 magickconvert 命令。这些命令提供了丰富的功能,可让批量处理图像,包括调整尺寸、裁剪、旋转、添加滤镜效果等。

要在 Windows 10 系统中打开 ImageMagick 的命令提示符或 PowerShell 窗口,您可以按照以下步骤操作:

  1. 打开开始菜单,然后搜索并选择 "命令提示符" 或 "PowerShell"。
    • 如果使用 "命令提示符",则会打开经典的命令提示符窗口。(熟悉的话可以直接开始菜单+cmd快捷键打开命令提示符窗口)
    • 如果使用 "PowerShell",则会打开 PowerShell 窗口,它是 Windows 的更强大和更现代化的命令行工具。
  2. 在打开的命令提示符或 PowerShell 窗口中,输入 magickconvert 命令来验证 ImageMagick 是否正确安装并可用。例如,输入以下命令之一:

"C:\Program Files\ImageMagick-x.x.x\magick" --version

"C:\Program Files\ImageMagick-x.x.x\convert" --version

如果 ImageMagick 被正确安装,命令会显示 ImageMagick 的版本信息。

如果命令提示符或 PowerShell 无法识别 magickconvert 命令,可能是因为 ImageMagick 的安装路径未被添加到系统的环境变量中。

在这种情况下,可以通过以下两种方法之一打开 ImageMagick 的命令提示符:

  • 方法一:使用完整的 ImageMagick 安装路径。 在命令提示符或 PowerShell 中,输入完整的 ImageMagick 安装路径,并附加 magickconvert 命令。例如:

"C:\Program Files\ImageMagick-x.x.x\magick" --version

或者

"C:\Program Files\ImageMagick-x.x.x\convert" --version

  • 方法二:将 ImageMagick 的安装路径添加到系统的环境变量中。
  • 参考我之前提到的步骤,将 ImageMagick 的安装路径添加到系统的环境变量中。
  • 关闭当前的命令提示符或 PowerShell 窗口,并重新打开一个新的窗口。
  • 然后,输入 magickconvert 命令即可。

现在,应该就能够在命令提示符或 PowerShell 中使用 ImageMagick 的命令行工具了。根据实际需要,可以执行各种图像处理操作,如调整尺寸、裁剪、旋转等等。

经过N次反复的测试,最终成功运行的代码如下:

cd "D:\tmp1"
foreach ($file in Get-ChildItem -Filter *.jpg) {
& "C:\Program Files\ImageMagick-x.x.x\magick.exe" $file.FullName -resize 180x135 "D:\tmp2\$($file.Name)"
}

在这个命令中,我们使用了 magick.exe 文件名,并且将 ImageMagick 的完整路径包含在命令中。其中D:\tmp1为源目录,D:\tmp2为目标目录。

除了编写代码来批量修改图片尺寸,还可以考虑使用专业的图像处理软件,如Adobe PhotoshopGIMP的批处理功能。这些软件提供了直观且强大的图像处理工具,可以快速实现批量修改图片尺寸的功能。

对于Adobe Photoshop:可以使用"图像处理"菜单下的"批处理"功能来创建一个操作步骤,并将其应用到整个文件夹中的图片。在批处理操作中,选择调整图片尺寸并保存为目标尺寸。

对于GIMP:可以使用"文件"菜单下的"批处理"功能。在批处理对话框中,选择批量处理的文件夹和输出文件夹,并设置图片尺寸调整选项,然后运行批处理操作。

这些专业的图像处理软件提供了更多的灵活性和功能,尤其适用于需要高级图像处理的项目。如果您熟悉这些软件,也可以尝试使用它们来快速批量修改图片尺寸。

总之,对于批量修改JPG图片文件尺寸的需求,我们可以选择多种方法来实现。

通过编写Python代码,利用PIL库可以进行自定义的批量处理;借助命令行工具ImageMagick,我们可以通过简单的命令来快速处理大量图片;此外,使用专业的图像处理软件如Adobe Photoshop和GIMP的批处理功能也是一种可行的选择。

根据个人的喜好和需求,选择适合自己的方法来进行批量修改图片尺寸,既可以节省费用,又可以满足自身的定制化需求。

希望这些方法能够帮助您顺利完成项目中的图片尺寸修改任务!

本文地址:https://urour.com/1.html
版权声明:本文为原创文章,版权归 davidjp 所有,欢迎分享本文,转载请保留出处!
PREVIOUS:已经是最后一篇了
趣闲赚 在家躺着也赚钱!

发表评论


表情

  1. WordPress先生
    WordPress先生 【农民】 @回复

    您好,这是一条评论。
    要删除评论,请先登录,然后再查看这篇文章的评论。登录后您可以看到编辑或者删除评论的选项。