近期有些网友想要了解Linux如何在命令行下编辑图片的相关情况,小编通过整理给您分享一下。
在 Linux 系统中,命令行不仅是管理文件和运行程序的利器,还能成为处理图像的高效工具。虽然大多数人习惯使用图形化工具(如 GIMP 或 Krita)来编辑图片,但命令行提供了更轻量、更灵活的解决方案,尤其适合批量处理或自动化任务。本文将介绍几种常用的命令行工具,帮助你在 Linux 中轻松编辑图片。
1. ImageMagick:功能强大的图像处理工具

ImageMagick 是 Linux 中最著名的命令行图像处理工具之一,支持超过 200 种图像格式。无论是简单的裁剪、缩放,还是复杂的滤镜应用,ImageMagick 都能胜任。
常用命令示例:
调整图片大小:
convert input.jpg -resize 800x600 output.jpg
这条命令将图片调整为 800x600 像素的大小。
裁剪图片:
convert input.jpg -crop 400x300+100+50 output.jpg
从图片的 (100,50) 位置开始,裁剪出 400x300 像素的区域。
添加水印:
convert input.jpg -font Arial -pointsize 36 -draw "text 20,50 'Your Watermark'" output.jpg
在图片的 (20,50) 位置添加文字水印。
ImageMagick 的强大之处在于它支持批量处理。例如,以下命令可以将当前目录下所有 JPG 图片调整为 50% 大小:
mogrify -resize 50% *.jpg
2. FFmpeg:不仅仅是视频处理
虽然 FFmpeg 主要用于视频处理,但它也能处理图像,尤其是将图片序列转换为视频或从视频中提取帧。
常用命令示例:
将图片序列转换为视频:
ffmpeg -framerate 30 -i image%03d.png -c:v libx264 output.mp4
将
image001.png
,image002.png
等图片序列转换为视频。从视频中提取帧:
ffmpeg -i input.mp4 -vf fps=1 frame%03d.jpg
从视频中每秒提取一帧,保存为 JPG 图片。
3. GIMP 命令行模式:图形化工具的补充
GIMP 是一款功能强大的图形化图像编辑器,但它也支持命令行模式,适合自动化任务。
常用命令示例:
批量转换图片格式:
gimp -i -b '(batch-convert "*.jpg" "output/" "png")' -b '(gimp-quit 0)'
将当前目录下所有 JPG 图片转换为 PNG 格式,并保存到
output
目录。应用滤镜:
gimp -i -b '(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE "input.jpg" "input.jpg"))) (drawable (car (gimp-image-get-active-layer image)))) (plug-in-gauss RUN-NONINTERACTIVE image drawable 5.0 5.0 0) (gimp-file-save RUN-NONINTERACTIVE image drawable "output.jpg" "output.jpg") (gimp-image-delete image))'
对图片应用高斯模糊滤镜。
4. Inkscape 命令行模式:矢量图像处理
Inkscape 是一款开源的矢量图形编辑器,支持命令行模式,适合处理 SVG 等矢量图像。
常用命令示例:
将 SVG 转换为 PNG:
inkscape input.svg --export-filename=output.png
将 SVG 文件导出为 PNG 格式。
批量导出 SVG 文件:
for file in *.svg; do inkscape "$file" --export-filename="${file%.svg}.png"; done
将当前目录下所有 SVG 文件转换为 PNG 格式。
5. Scrot:命令行截图工具
Scrot 是一款轻量级的命令行截图工具,适合快速捕捉屏幕或窗口。
常用命令示例:
全屏截图:
scrot screenshot.png
捕获整个屏幕并保存为
screenshot.png
。延时截图:
scrot -d 5 screenshot.png
等待 5 秒后截图。
6. OptiPNG 和 Jpegoptim:图像压缩工具
OptiPNG 和 Jpegoptim 是两款专门用于压缩 PNG 和 JPG 图片的命令行工具,可以在不影响画质的情况下减小文件大小。
常用命令示例:
- 压缩 PNG 图片:
optipng input.png
- 压缩 JPG 图片:
jpegoptim input.jpg
总结
Linux 命令行下的图像处理工具不仅功能强大,而且灵活高效。无论是批量处理、自动化任务,还是简单的图像编辑,这些工具都能满足你的需求。如果你对图形化工具感到厌倦,不妨尝试命令行,体验另一种图像处理方式。掌握这些工具后,你会发现命令行不仅是 Linux 的核心,也是图像处理的得力助手。