ImageMagick

简介

imagemagick是一款基于C语言的图像处理开源工具,被广泛的应用在图像处理工具中,可以实现图像的裁剪、尺寸的放缩,在图像上绘制文本图形、压缩图片质量以及格式的转换等等。通过在终端中输入简短的命令,即可实现图像的处理工作。同时,这款工具占用资源较少,运行速度快,适合批量处理大量的图片。

如何安装

mac用户可以直接通过brew安装

brew install imagemagick

相关功能

修改图片尺寸:将输入照片的宽边改为指定指定像素,图像比例不发生改变

magick input.jpg -resize '2048' output.jpg

修改图片尺寸并进行画质压缩(将quality设置为80%可以大幅减少文件体积,同时不会改变整体画质)

convert 1.jpg -resize '2048' -quality 80% output.jpg

这个功能比较常用,写了一个脚本方便进行批处理,在终端在该脚本后输入要压缩图片所在的文件夹内,即可处理所有的.jpg文件。

#!/bin/zsh

# 指定要处理的文件夹路径
target_folder="$1"

# 创建名为resized的子文件夹
mkdir -p "$target_folder/resized"

find "$target_folder" -type f -name "*.jpg" | while read -r file; do
    # 获取原始文件的目录
    dir=$(dirname "$file")

    # 创建名为resized的子文件夹
    mkdir -p "$dir/resized"

    # 获取原始文件的文件名(包含扩展名)
    filename=$(basename "$file")

    # 设置新文件的路径和名称
    new_file="$dir/resized/$filename"

    # 进行压缩并保存到新文件夹
    convert "$file" -define jpeg:extent=5MB -quality 80% "$new_file"
done

格式转换

magick input.jpg output.png

如果需要转换大量图片,可以使用

magick mogrify -format JPEG *.webp #把当前文件夹下的webp文件转换成JPEG格式的照片

将eps文件变为透明背景并输出为png

convert -density 300 exploration_noise.eps -transparent white exploration_noise.png

将png文件变为透明背景并输出为png

convert -density 300 input.png -transparent white output.png

问题

在处理部分相机RAW文件不能正确映射颜色,建议在处理前中先用相机厂商提供工具对原始RAW文件进行处理,或用Dcraw命令行工具进行处理。

相关链接

中文站链接

官网链接

Dcraw介绍

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注

京ICP备 2024042812号