绿幕和透明哪个好?

现在做直播或者短视频很多人喜欢用到虚拟直播场景,带货主播、培训主播都可以使用得到。而且效果也是非常实用,从观看者的角度呈现出来比较优质的。对直播行业来说,虚拟场景直播目前还是一种新技术,因为新颖独特,才更能吸粉,引起围观。

虚拟直播场景,是运用电影电视行业的色键抠像技术,绿幕实时抠除,再实时置换成直播需要的理想场景的一种直播技术,在视频上增加产品或者其他提示性说明。

如现在各大主播直播时,观看到产品的展示,主播背景的图片切换。

绿幕背景的搭建至少需要在其中一面墙上布置绿幕背景,可以通过绿布(需注意绿布无褶皱、暗角)或者绿色喷漆的方式;同时相邻地面主播站位区域也需调整为绿色;如果需要,也可以将四周的墙面布置为绿幕背景。

一般一套完整的基础灯光布置包含一个主灯、一个背景灯,一个轮廓灯。灯光照明的原则是将直播区域完全照亮,没有明显的亮点曝光、阴影或者颜色差异区域。一般常将灯光照在人物与绿幕之间,均匀照亮绿幕,且保证人物影子不在绿幕上,尽量避免产生额外的溢色。

在灯光上有比较好的直播灯光设备,效果也是非常不错。

一经核实,立即删除。并对发布账号进行永久封禁处理。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。
}

       本文是通过Shader处理绿幕的方式来实现Unity中视频(VideoPlayer)的绿幕抠图。因为项目原因,不追究细节(能用就好能用就好)orz可是我连shader都不了解......项目完成之后有机会的话一定要去深入学习一下!

好了就让我们开始叭ヽ(ー_ー)ノ

       另外,在寻求去除绿幕的方法时,也想过用OpenCVForUnity来做,对本文效果不满意的话说不定可以寻求OpenCVForUnity的方式。以下是我通过shader完成视频绿幕抠图及优化参考的博文:

//简单的判断材质的RGB值 c.a = 0;//材质的绿色大到一定程度,并且蓝色和红色小到一定程度,就把该部分的材质的透明度设置为0

          就博主的视频抠图而言,已经完成了。但是对于我的视频来说,还没有完成,因为我最后的效果是这样的

我知道绿幕的部分容易解决,可是多出来的白门和白墙和白鞋子是同一个颜色的。可不可以有再Shader中确定位置的方法,来把除了人物的周围部分的其他部分都设置为透明。然后找了半天基本都是和上面代码差不多的,或者就直接是复制的代码,完全没有自己的想法......遂放弃。在大量找shader相关资料的时候发现了一篇博文,是讲shader的uv坐标的,链接如下:

其中有    i.uv.x=i.uv.x * i.uv.y; 这样的注释。我就想能不能通过这样的方式来限定位置条件(其实只是因为这句注释给了我启发,这篇文章倒是和本文没啥大关系)。然后我就在代码中加了以下几句:

        如图,显然,达到了我想要的位置约束的效果。(完全就是瞎猫碰到死耗子...蒙出来的效果,所以说!如果shader了解的通透的话,这种简单的处理完全就是信手拈来啊!果然还是要提升知识水平啊orz)  

       除此之外,还可以通过QQ截图来获取某一像素点的RGB值(就当取色器用,真的很好用!)来作背景优化的约束条件,比如说像我就添加了以下的约束条件。因为颜色越深的地方,green可能不到0.5,但是会比red高很多,用此来作为条件优化。

//绿色>红色值1.1倍就设为透明,可以优化边缘绿色,参数可调

        因为深绿色和头部的黑色有冲突,所以我把上部分和下部分分开优化,(还不是为了帮大师保留更多的头发!摔桌(/"— _ —)/~┴┴)但是用了好多if语句啊,感觉代码还是可以有改进的地方.

3. 将shader运用到视频或图片上

       感觉自己在一些细节还有许多了解不清楚的地方,或许有说错或者不必要的情况,欢迎指正。以后有机会一定要多去学习学习鸭!以上。

}

绿幕抠图代码实现和使用P图软件完成绿幕抠图的步骤是一致的,总共包括四步:

1、初始化前景图,需要P图的部分填充为纯色背景(绿幕/蓝幕)

2、把纯色部分的bitmap设置为透明

3、准备背景图(尺寸和前景图一致),前景图叠加到背景图生成目标图片

4、导出目标图片,完成抠图功能

纯色部分的bitmap设置为透明

 
 
 
获取每个bitmap的颜色值
 
前景图叠加到背景图,生成目标图片

}

我要回帖

更多关于 为什么都用绿幕 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信