You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CLI工具从白色背景的JPG中提取多张图片?

用ImageMagick自动提取白色背景JPG中的多张图片

嘿,你选ImageMagick真的找对工具了!它的连通区域识别功能正好能帮你不用手动指定坐标,自动把白色背景里的独立图片分割出来,还能保留原分辨率和质量。针对你的OSX 10.13.2和ImageMagick 7.0.7-28环境,直接用下面的命令就行:

magick input.jpg -threshold 99% -negate -connected-components 8 -auto-level -background white -alpha extract -background white -alpha off -crop %wx%h%+x%+y +repage output_%d.jpg

命令参数解释(帮你理解为啥这么写)

  • -threshold 99%:先把原图转成黑白模式,99%的阈值是为了精准区分纯白背景和非白色的主体内容——背景会变成纯白色,主体变成黑色。如果你的背景不是绝对纯白,可以微调这个数值(比如95%、98%)来适配。
  • -negate:反转颜色,让背景变成黑色,主体变成白色,这样ImageMagick更容易识别独立的连通区域。
  • -connected-components 8:启用8连通区域识别(相比4连通,能识别斜向相连的主体,更准确),它会自动找出所有独立的图像块。
  • -auto-level:调整图像对比度,确保主体区域的细节清晰,避免后续裁剪出现模糊。
  • -background white -alpha extract:生成一个透明度掩码,把原来的白色背景区域设为透明,方便后续裁剪。
  • -background white -alpha off:把透明区域重新转回白色背景,保持输出图片的背景一致性。
  • -crop %wx%h%+x%+y +repage:根据识别到的每个连通区域的尺寸和位置自动裁剪,%wx%h%+x%+y是ImageMagick的内置变量,对应区域的宽度、高度、x坐标、y坐标;+repage用来重置裁剪后的图像偏移信息,避免后续处理出问题。
  • output_%d.jpg:输出的文件名格式,%d会自动从0开始给每个提取出的图片编号,比如output_0.jpg、output_1.jpg。

额外优化:保留最高质量

如果要确保输出图片和原图质量一致,可以在命令末尾加上-quality 100参数:

magick input.jpg -threshold 99% -negate -connected-components 8 -auto-level -background white -alpha extract -background white -alpha off -crop %wx%h%+x%+y +repage -quality 100 output_%d.jpg

小提示

测试的时候可以先拿一张小图试试,调整-threshold的数值,直到所有主体都被准确识别和分割。ImageMagick 7用magick命令是对的,旧版本才用convert,你的版本完全兼容这个命令。

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:15:17