说到登记照改换底色功能的实现,我想大部分人都会认为使用opencv或者机器学习方法对图像进行图像分割、边缘检测、基于语义的物体检测、无监督的像素分类算法等等算法是最好的途径。
而我最近实现了一个登记照改换底色的小工具,可以任意设置登记照的底色,不局限于蓝白红三种最基本的登记照背景颜色。并且它可以根据实际情况来调整背景的色彩、亮度等等,可以让修改底色之后的登记照显得更真实些。
最关键的是,他是纯前端js完成的,是通过操控canvas中的像素点来实现换底色的,并没有用到专业的图像处理或者机器学习方法来进行,纯前端完成,并且效率还挺高的。
事实上,我一开始也尝试使用了tensorflow提供的demo进行图像分割等,实际上效果并不是特别的好,它很适合通过语义将图片内容进行识别和分类,然而却不适合作为像素级的图像分割方式。而opencv却太依赖于java或者c++等语言来开发,在纯前端使用js是比较难与opencv结合使用的。所以最后都放弃了。
这是工具的地址,大家可以先体验一下效果:在线登记照改换底色,证件照改换背景色工具
https://www.butterpig.top/photochangebackground

本文介绍了一个纯前端实现的证件照背景色更换工具,利用JS操控canvas像素点,无需opencv或机器学习,可自定义背景色并调整色彩、亮度,达到较好的效果。虽然尝试过tensorflow图像分割,但效果不佳,而opencv在前端使用不便,因此选择了当前方案。提供在线工具供体验。

1521

被折叠的 条评论
为什么被折叠?



