1、项目介绍
输入有背景色的视频,MP4格式,每一帧画面进行处理。
输入要替换的背景图,jpg格式图片
最终抠图合成效果
2 开发环境介绍
开发语言 :webgl 、js
测试浏览器:火狐
IDE :webstorm
3 开发步骤
主要在片元着色器中进行处理
-
计算当前像素点RGB值对应的HSV值
-
设定HSV三个分量的权重,根据权重计算当前像素点的HSV值到给定背景色的HSV值的欧式距离
-
将欧式距离用smoothstep做平滑,0.5以下的一定要滤掉
-
将原图和背景图用平滑值混合
4、主要GLSL代码
vec2 RGBtoUV(vec3 rgb)
{
return vec2
(
rgb.r * -0.16