FFmpeg----图片处理

最近在学习的时候发现了一个功能强大的软件ffmpeg,可以用它很完美的处理视频、音频、图片,并且该软件可以命令行执行可以完美的融入代码程序,运行速度也不错。
说明:下面测试命令中image_source 是要处理的输入文件out_source是处理完成之后的输出文件

1.图片压缩

ffmpeg可以很完美的压缩图片生成新图片,并可以设置压缩等级

ffmpeg -i image_source -q compress_level out_source
#compress_level:压缩等级为正整数,数值越大压缩等级越高
2.约束比例压缩

ffmpeg可以将图片压缩成指定的尺寸

ffmpeg -i image_source -vf scale=width:height out_source
#width为压缩后的图片宽度
#height为压缩后的图片高度
#当width或height其中有一个数值为-1时将保持原来图片尺寸比例压缩
3.图片裁剪

ffmpeg可以指定图片裁剪位置和裁剪的图片尺寸

ffmpeg -i image_source -vf crop=width:height:from_x:from_y out_source
#width是要裁剪出的图片的宽度
#height是要裁剪出的图片的高度
#from_x是裁剪的起始X轴的位置
#from_y是裁剪的起始Y轴的位置
#如果不指定from_x和from_y表示从原始图片中心位置开始裁剪
4.添加水印图片

ffmpeg可以为图片添加水印,可以设置水印图片的大小、位置和透明度

ffmpeg -i image_source -vf movie=logo_source,scale=logo_width:logo_height,lut=a=val*opacity_num[watermask];[in][watermask] overlay=from_x:from_y[out] -y  out_source
#logo_source为水印图片地址
#logo_width为水印图片的宽度
#logo_height为水印图片的高度
#opacity_num为水印图片的透明度
#from_x为水印的起始X轴的位置
#from_y为水印的起始Y轴的位置
5.添加文字水印

ffmpeg可以为图片添加文字水印,可以设置字体、颜色、尺寸、文字内容、文字位置

ffmpeg -i image_source -vf drawtext=fontfile=font_ttf_path:fontcolor=font_color:fontsize=font_size:text=message_info:x=from_x:y=from_y  out_source
#font_ttf_path为字体路径,此项必须设置否则会出现字体无法找到的错误;
#字体路径要设置绝对路径并且要注意路径正反斜线转义(例如C\\:/Windows/Fonts/simhei.ttf)
#font_color为字体的颜色
#font_size为字体的大小
#message_info为水印文字内容
#from_x为水印的起始X轴的位置
#from_y为水印的起始Y轴的位置
#如果水印内容是中文需要设置中文字体否则会文字显示乱码
6.图片旋转指定的角度

ffmpeg可以将图片按照指定的角度旋转生成新图片

ffmpeg -i image_source -vf rotate=route_num*PI/180 -y  out_source
#route_num是要旋转的角度
#当route_num大于0的时候顺时针旋转,当route_num小于0的时候逆时针旋转
7.图片旋转特殊简便命令

上面的命令理论上可以完成所有的图片旋转操作,但ffmpeg仍然存在特殊简便旋转命令

ffmpeg -i image_source -vf transpose=route_number -y out_source
#route_number=0顺时针旋转90度再左右镜像
#route_number=1顺时针旋转90度
#route_number=2逆时针旋转90度
#route_number=3逆时针旋转90度再左右镜像
8.图片左右镜像
ffmpeg -i image_source -vf hflip out_source
9.将图片上下镜像
ffmpeg -i image_source -vf vflip out_source

你可能感兴趣的:(FFmpeg----图片处理)