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

求FFmpeg eq滤镜色彩校正参数精确公式 用于CSS滤镜双向转换

FFmpeg eq滤镜参数计算公式及CSS双向转换规则

一、FFmpeg eq滤镜核心参数精确算法

所有计算基于归一化RGB分量(输入输出分量取值范围均为[0, 1],超出范围会被截断):

  • 伽马(gamma)
    计算公式:out = pow(in, gamma_val)
    参数范围:0.1~10,默认值1,数值越小画面整体越亮
  • 对比度(contrast)
    计算公式:out = (in - 0.5) * contrast_val + 0.5
    参数范围:-2~2,默认值1,数值大于1提升对比度,小于1降低对比度
  • 亮度(brightness)
    计算公式:out = in + brightness_val
    参数范围:-1~1,默认值0,数值为正提升亮度,为负降低亮度
  • 饱和度(saturation)
    先计算输入RGB对应的灰度值:gray = 0.3086 * R + 0.6094 * G + 0.0820 * B
    分量输出公式:out = gray + (in - gray) * saturation_val
    参数范围:0~3,默认值1,数值为0时画面完全灰度,大于1提升饱和度

二、与CSS滤镜的双向转换规则

其中对比度、饱和度、伽马的计算逻辑与W3C规范定义的CSS滤镜完全对齐,可直接转换:

  • 对比度:FFmpeg contrast_val = CSS contrast参数百分比 / 100,例如FFmpeg contrast=1.1对应CSS contrast(110%)
  • 饱和度:FFmpeg saturation_val = CSS saturate参数百分比 / 100,例如FFmpeg saturation=1.3对应CSS saturate(130%)
  • 伽马:FFmpeg gamma_val = CSS gamma参数值,两者参数取值逻辑完全一致

亮度的计算逻辑两者存在差异:FFmpeg亮度为加法偏移,CSS brightness为线性乘法缩放,不存在完全1:1的映射关系,普通场景下可使用近似转换公式:

  • FFmpeg转CSS:CSS brightness百分比 = (1 + FFmpeg brightness_val) * 100%
  • CSS转FFmpeg:FFmpeg brightness_val = (CSS brightness百分比数值 / 100) - 1

如果需要更高精度的对齐效果,可通过调整滤镜执行顺序、叠加辅助参数修正误差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:45:06