如何使用FFmpeg colorbalance滤镜对图像进行调色

本篇文章分享了解一下colorbalance滤镜是干什么的,都有什么作用。

Modify intensity of primary colors (red, green and blue) of input frames.

The filter allows an input frame to be adjusted in the shadows, midtones or highlights regions for the red-cyan, green-magenta or blue-yellow balance.

A positive adjustment value shifts the balance towards the primary color, a negative value towards the complementary color.

英语不好的话,我用有道翻对这段话译翻一下:

  • 修改输入帧的原色(红、绿、蓝)的强度。
  • 过滤器允许输入框在阴影、中色调或高亮区域中进行调整,以实现红青色、绿洋红或蓝黄平衡。
  • 正的调整值使天平偏向主色,负的调整值偏向互补色。

大概意思看上去是修改RGB的某个原色的强度的,比如RGB24,那么就是R占8位,G占8位,B占8位,也就是三个字节,根据调整这三个颜色的24个位的值可以使得颜色偏向红或者绿或者蓝。为了理解更深入,看一下这个滤镜的参数。

参数介绍:


The filter accepts the following options:

StevenLiu:dash StevenLiu$ ./ffmpeg -hide_banner -h filter=colorbalance
Filter colorbalance
  Adjust the color balance.
    slice threading supported
    Inputs:
       #0: default (video)
    Outputs:
       #0: default (video)
colorbalance AVOptions:
  rs                <double>     ..FV..... set red shadows (from -1 to 1) (default 0)
  gs                <double>     ..FV..... set green shadows (from -1 to 1) (default 0)
  bs                <double>     ..FV..... set blue shadows (from -1 to 1) (default 0)
  调整这几个值可以达到将颜色比较暗的地方颜色偏向设定颜的值

  rm                <double>     ..FV..... set red midtones (from -1 to 1) (default 0)
  gm                <double>     ..FV..... set green midtones (from -1 to 1) (default 0)
  bm                <double>     ..FV..... set blue midtones (from -1 to 1) (default 0)
  调整这三个值可以让色彩居中的地方颜色偏向设定颜的值

  rh                <double>     ..FV..... set red highlights (from -1 to 1) (default 0)
  gh                <double>     ..FV..... set green highlights (from -1 to 1) (default 0)
  bh                <double>     ..FV..... set blue highlights (from -1 to 1) (default 0)
  调整这三个值可以让颜色偏亮的地方的颜色偏向设定颜的值
This filter has support for timeline through the 'enable' option.
支持timeline上设定这个滤镜生效时间

说了一大堆,下面举几个例子看一下调色效果。因为这是公众号,所以不能拿侵犯别人版权的视频举例子,我专门找了个类似大雄兔那种开放版权的视频进行测试,大伙一定要提升版权意识,否则很容易被告。

我是用钢铁之泪做测试素材的。大伙可以搜索 Tears of Steel 找到


Full Movie – New version (4k rendered)

HD 1920 pixels wide (~700MB, mov, 2.0) :: Mirror 1 (Netherlands) | Mirror 2 (Germany)
4K 3840 pixels wide (6.3 GB, mov) :: Mirror 1 (Netherlands)
4K DCP 4096 x 2160 (14 GB, Digital Cinema Package) :: Mirror 1 (Netherlands)
Full Movie – First version (HD rendered)

HD 1080p (~560MB, mov, 2.0) :: Mirror 1 (Italy)  | Mirror 2 (Netherlands) | Mirror 3 (Germany) | Mirror 4 (France)
HD 1080p (~550MB, MKV, 2.0) :: Mirror 1 (Italy) | Mirror 2 (France)
HD 1080p (~545MB, webm, 2.0) :: Mirror 1 | Mirror 2 | Mirror 3 | Torrent file
HD 720p (~365MB, mov, 2.0) :: Mirror 1 (Italy) | Mirror 2 (Netherlands) | Mirror 3 (Germany) | Mirror 4 (France)
HD 720p (~365MB, MKV, 2.0) :: Mirror 1 (Italy) | Mirror 2 (France)

下载一个看上去质量还行的测试就可以了。

为了观察方便,截取一张图,然后直接调整图中的色彩。

ffplay  -vf colorbalance=rs=0.9 graded_edit_final_00345.png

看一下处理后的原图的对比。

图片

从图中可以看到,将色彩非常暗部分设置成了红色。

ffplay  -vf colorbalance=rm=0.9 graded_edit_final_00345.png

处理之后的原图对比:

图片

效果与预期的是相同的,亮度始终部分的内容偏红。

说了这么多,这个滤镜到底有什么用呢?

用处可多着呢,比如视频原来的颜色整体偏暗,可以用这个滤镜调的稍微亮一些,原来的色彩整体偏黄,可以调的偏蓝一些,整体风格是可以调整的,甚至有些时候可以说美颜技术也用到了这个滤镜做了一部分处理。

例如把整体特别暗的部分调整的稍微亮一点

ffplay  -vf colorbalance=rs=0.5:gs=0.5:bs=0.6 graded_edit_final_00345.png
图片

当然,作者本人对于艺术设计天赋方面差很多,具体调整的话还是得找做艺术设计方面的老大帮忙给确定一个值才好一些,这个很显然是太亮了。

关于调色的第二种方式,到这里就介绍完了。

作者:悟空 公众号:流媒体技术

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论