转自http://blog.sina.com.cn/s/blog_4b6bfd7a01010v43.html
“抠像”一词是从早期电视制作中得来的,英文称作“Key”,意思是吸取画面中的某一种颜色作为透明色,将它从画面中抠去,从而使背景透出来,形成二层画面的叠加合成。
下面我们讲介绍几种抠像基础方法:
二.
亮度抠像主要是基于图像的暗部和亮部来创建Matte的。
工作原理:
首先把一幅含有RGB通道的图像转换为单通道的黑白图像,这幅黑白图像就代表着这幅图像的亮部和暗部区域。下面将设置两个数值lowValue,hightValue,只要黑白图像的数值大于hightValue,那么将会把这个数值设置为纯白色,如果小于lowValue就设置为纯黑色。下图形象化的展示了上面文字。
三维的山峰表示了黑白图像的亮度分布范围,山峰高出的区域代表图像像素的亮度越高。
使用2图的一个切割刀,可以对原来的图像的亮度区域进行修改。
通过对黑白图像亮度区域进行操作,可以得到Matte,通常这个不会那么的完美,然后对这个使用图像亮度得到的Matte进行二次处理,或者和其他方法生成的Matte进行合成,就能够生成想要的Matte.
1.
亮度方程
L (亮度)= 0.29*R+0.59*G+0.12*B
使用Shake ColorX节点,实现公式。
解释:使用ColorX节点可以对RGBAZ通道进行表达式控制。
表示使用29%的红加上59%的绿加上12%的蓝构成一幅黑白图像,
因为眼睛对绿色比较敏感,所以绿色所占的比重要高于其他色成分。
提示:如果想对亮度黑白图像进行更加多的控制,可以使用Shake-〉Color-〉Lookup节点,可以用曲线调节整幅图像,如果想实现Expand的效果必须同时对RGB曲线同时进行调节。
三.
理解RGB三维空间:
大家在初中时候刚学习初等几何时候,接触过坐标系的概念,方便的把代数问题可视化,方便分析问题,普通的立体空间坐标系,一般用xyz来表示,横,竖,纵三个方向,如果使用像素的RGB数值来表示三个向量方向,就可以组成一个新的坐标系,这个坐标系通常称为RGB空间,因为RGB数值可以在显示器上表示颜色,这样把整个RGB空间使用颜色像素完全填充,下图就是显示结果。可以看到一个立方体,实际上还有很多颜色空间。比如大家比较熟悉的hsv。
下图就是hsv空间,可以看到一个类似锥体的立体模型,不同形状说明他们轴向实现的方程是不一样的。
如果把一幅使用RGB表示的图像放入这个空间中,就可以通过这个坐标系来观察和分析整幅图像的红绿蓝颜色分布了,因为引入了立体坐标系,所以可以使用研究立体几何的方法来研究和处理图像了。这里将介绍Chroma-Key的一些原理,其中很多的概念和思路,大家可以借鉴一下,或者说发展一下,特别是对以后学习3D抠象有一个更加好的基础。
一幅图像在rgb空间的分布
点距离公式:
在高中时候肯定都学过两点在2d和3d坐标系中的距离公式,我们把它应用在我们的RGB空间中。
RGB 空间中两点之间距离公式:
考虑一下P1,P2这两个像素点,如果这两个像素颜色接近,也就是他们的RGB数值接近,那么D就会接近零,反映在颜色上就是接近黑色,如果两个像素点的颜色差异很大,也就是
RGB 数值之间差比较大,那么D就会很大,因为我们实现约定了,RGB范围在0-1之间,所以,最大距离如果大于1,那么就显示为白色,如果小于0,将显示为黑色。
我们在拍摄时候蓝屏,或者绿屏目的就是为了使前景和背景差异很大,所以上面的这个公式就能够帮助我们生成一张距离图。因为距离是单一浮点数,所以产生的这张图是单通道黑白的。
一张Distance map.
这张图片假设公式中,P1点在前景,P2点是背景蓝色的一张单一颜色图像,对这两张图片求距离得到的。女孩后面的黑色说明蓝布与我们要提出的颜色相近,所以距离接近黑色,女孩身上很少的蓝色,所以距离就接近白色,我们可以惊奇的发现,可以使用任何一种颜色作为比较色来提取这样的距离图。
有这样一个“大约“Matte,我们可以对这个图像进行调色处理,比如增加对比度,可以绘制遮罩等进行处理。
理解了上面的一些以后,关于Chroma-Key的一些解释就很好理解了。
Chroma-Key 顾名思义就是通过色调来提取Matte,上面我们说过,如果我们预先对我们的图像进行调色处理,对于想要的像素,加大他与不想要的像素颜色之间的距离,对于不想要的像素,减小与不想要像素的颜色之间的距离,就可以达到提取matte的目的。
Chroma-Key 是首先把图像转换到HSV空间,然后对整幅图像进行调节,调节它的色调的偏移,范围,饱和度偏移,范围等,来达到上述目的。在Shake
下图就是HueCurves节点的参数区。
下面我们把上面的理论总结一下,在shake中实现我们调节功能更加强大的MyChroma-Key。
这里的ContrastLum是对图像进行对比度处理,可以在此段区域内,对Distance Map进行调色处理,使用HueCurves进行调节时候,比如可以降低bHue的红色范围数值,因为前景女孩穿的是含红量高的衣服,比如可以增加rHue的红色范围数值,让女孩前景的颜色更加远离背景。
这也是很多商业抠象软件的基本原理,因为抠象实际是把分布在RGB空间中的一些部分给剔除掉的过程,比如Infeno中就使用三维来显示一幅图像分布,中间的三维物体表示剔出的区域,这样对这个三维物体进行参数调节或者“建模“处理,就可以得到想要的matte。
大家可以按照这个思路,使用立体几何的公式或者概念,加上Shake提供的方便的表达式节点,可以试验出更加有意思的抠象或者调色技术.