其他
如何做到让屏幕中的人不翼而飞?这个JavaScript项目告诉你该怎么做!
大家好,我是TJ
一个励志推荐10000款开源项目与工具的程序员
TJ君今天发现一个很好玩的项目,竟然只用JavaScript、js就可以使一个视频中的人物凭空消失!你说神奇不神奇?
那到底是怎么做到的呢?且听TJ君跟你慢慢道来
GitHub上该项目的名字是Real-Time-Person-Removal,翻译过来就是很形象的实时人物移除,效果自然是将人从视频背景不变的前提下移除掉。
为了实现这个目标,项目主要运用的技术就是JavaScript在web浏览器中使用TensorFlow.js,TensorFlow.js是一个开源的基于硬件加速的JavaScript库,用于训练和部署机器学习模型。
TJ君看了下代码,似乎作者还用到了谷歌一个预训练人像分割模型,将人像从图片中分割出来,以达到清除的效果。就是script.js文件中的这段代码:
// An object to configure parameters to set for the bodypix model.
// See github docs for explanations.
const bodyPixProperties = {
architecture: 'MobileNetV1',
outputStride: 16,
multiplier: 0.75,
quantBytes: 4
};
我们来看下实际运行中的消失效果,上下两段视频对比。
很像魔术对吧?你敢相信这一切都是在js里完成的吗?其中主要的功能函数是processSegmentation,有兴趣的小伙伴可以去看下,TJ君这里就不全部把代码贴出来了。
不过TJ君真的很佩服能写出这个逻辑的程序猿,短短的几个文件就实现了这么牛逼的功能,当然如果想直接尝试的小伙伴可以用在线试用地址直接尝试:https://codepen.io/jasonmayes/pen/GRJqgma,不过要关联你的摄像头哦。
想仔细研究其代码的小伙伴,赶紧赶紧,一起来研究下:
点击下方卡片,关注公众号“TJ君”
回复“消失”,获取仓库地址
关注我,每天了解一个牛x、好用、有趣的东东
往期推荐