首页 > 解决方案 > FFmpeg - 裁剪图像空白

问题描述

我正在寻找一种方法,使用 FFmpeg 来裁剪图像,去除所有白色像素;类似于 Photoshop 的“裁剪空白”。

我尝试环顾四周,但没有找到解决方案,这是我正在寻找的示例:

鉴于这种: 输入

我将能够获得这个: 输出

我应该如何获得这个编辑?

标签: ffmpeg

解决方案


  1. 使用negate反转图像颜色并使用cropdetect查找裁剪参数:

    ffmpeg -loop 1 -i input.png -frames:v 3 -vf "negate,cropdetect=limit=0:round=0" -f null -
    ...
    [Parsed_cropdetect_1 @ 0x5581f7287580] x1:198 x2:1255 y1:472 y2:968 w:1058 h:496 x:198 y:472 pts:3 t:0.120000 crop=1056:496:200:472
    
  2. ffplay如果需要,请进行测试:

    ffplay -vf crop=1056:496:200:472 input.png
    
  3. 然后使用作物

    ffmpeg -i input.png -vf crop=1056:496:200:472 output.png
    

请参阅ffmpeg 从cropdetect 获取值以获取 Bash shell 示例以提取cropdetect 值以供脚本使用。


推荐阅读