【学习笔记】LUT(look up table)

参考

看似高深的LUT,原来如此简单!
RAW LOG LUT
LUT的前世今生

1.原理

LUT指的是颜色查找表,可以理解为一组(r,g,b)值映射为另一组(R,G,B)的过程,在图像处理处理过程中就相当于加了一层滤镜,改变了画面的色彩和曝光。

如图,LUT根据函数的输入变量和映射关系分为不同的维度,1D、2D、3D LUT
在这里插入图片描述

2.应用场景

  • 电影滤镜:用LUT渲染出来的照片会有较强的电影质感

  • 实现跨平台同色效果:不同平台的滤镜效果是不一样的,可以将图片的滤镜效果保存为LUT,然后在另外一个平台加载LUT,可以保证画面效果的一致性

3.插值算法

假设在1D LUT中,可以精确知道x=0和x=1对应的y值,那么当x=0.4的时候,该如何确定y值呢?
这个问题关乎LUT的精确度,可以简单粗暴地从提升晶格数(明确知道的数据点)来提高精确度,但一味的提升意味着计算复杂度也会提升,比如在3D LUT中,当32x32x32提高一倍精度后变为64x64x64,但是计算量却提升了八倍。
还有一种方法,就是预测估计,关乎一个“猜”字,接下来介绍的插值算法是不同的猜测方法
在这里插入图片描述
主要介绍几种典型的算法:线性插值 双线性插值 三线性插值 四面体插值
参考来源1 参考来源2

线性插值

假设点p位于a和b之间,那么根据直线的重心坐标公式可以求出点P的位置,具体公式如下:

p = a ( 1 − k ) + k b p=a(1-k)+kb p=a(1k)+kb
k = p − a b − a k=\frac{p-a}{b-a} k=bapa
假设j=1-k,则
P = j A + k B j + k = 1 P = jA + kB\\ j + k = 1 P=jA+kBj+k=1

双线性插值

在这里插入图片描述
实际上就是分别从X轴和Y轴分别做线性插值,首先在X方向做两次线性插值,得到a,b点的坐标,之后在Y方向做一次线性插值,得到c坐标

三线性插值

在这里插入图片描述
同理,根据三维空间内立方体的8个顶点,进行7次线性插值得到新的插值点

四面体插值

在这里插入图片描述
根据约束条件确定输入像素(r,g,b)位于哪一个四面体,得到合适的四面体后,即可按照公式利用对应四面体的4个定点进行插值计算
具体公式

4. LUT优势

  • 确保变换的一致性
  • 避免复杂的计算公式
  • 无可变参数
  • 具有公开性

后续还会继续补充相关达芬奇应用实例

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值