如何通过CLI对图像进行区域裁剪(移除侧边及中间区域)?
使用ImageMagick CLI实现指定区域裁剪合并图像表格
要实现你需要的、替代图形界面Transform > Chop > Direction > vertical的CLI操作,核心是裁剪掉图像中间的空白区域,再将上下两部分表格拼接为完整表格。以下是具体实现方案:
核心命令示例
假设你需要去掉图像中纵向(y轴)从+0+[起始Y坐标]到+0+[结束Y坐标]的中间区域,可通过-crop提取上下有效区域,再用-append垂直拼接:
convert sample.png \ \( -clone 0 -crop 100%x[上半部分高度]+0+0 \) \ \( -clone 0 -crop 100%x[下半部分高度]+0+[下半部分起始Y] \) \ -delete 0 \ -append result.png
参数说明
-clone 0:复制原始图像作为操作对象-crop 100%x[高度]+0+[Y起始]:100%表示保留完整宽度,x后指定裁剪高度,+0+[Y起始]指定裁剪区域的左上角Y坐标-delete 0:删除原始图像副本,只保留裁剪后的上下两部分-append:将上下两部分垂直拼接(合并为单张图像)
针对你的示例图像的具体命令
结合你提供的输入/输出图像,假设中间空白区域的Y范围是+0+245到+0+370(需根据实际图像尺寸调整),命令可写为:
convert sample.png \ \( -clone 0 -crop 100%x245+0+0 \) \ \( -clone 0 -crop 100%x[总高度-370]+0+370 \) \ -delete 0 \ -append result.png
如果想直接用-chop命令实现(从底部裁剪掉上方的区域,再从顶部裁剪掉下方的区域),也可以结合两次-chop+-gravity:
convert sample.png \ -gravity North -chop 0x[中间空白顶部到图像底部的高度] \ -gravity South -chop 0x[中间空白底部到图像顶部的高度] \ result.png
验证效果
执行命令后,即可得到与图形界面操作一致的结果:将原本拆分的上下两部分表格合并为完整的单张表格。
内容的提问来源于stack exchange,提问作者Ahmad Ismail
相关产品推荐
相关产品推荐

