使用轮廓抠图和贝塞尔抠图实践

当我们使用AI抠图时往往出现一些突兀的、模糊的、缺失记忆的现象,虽然有很多方法,如画笔工具、涂抹工具、修正,那只是星星点点的修改可以,如果原图是复杂背景,且色泽繁杂的情况就显得无能为力,我们所得到的图形,只是一个模糊的图形,高手、大咖们可能无能为力。

笔者旨在解决这一问题的主张基于不反对AI抠图的快捷性,也不反对AI制作图形包括短视频片段的伟大创造力,但是事情都是两面性,我的主张更倾向于原创性。原创是基于人类的基础创造力,应该倡导和发扬。AI仅仅是过程工具。它承担的基础算法和人类制作过程,但是人类基础算法不可丢失,基础物理方法不可丢失。人类丢失了两种方法就无法创新。这就是原创的根基。

回过来我们说到实质问题,谈论如何在复杂的图像中进行抠图,探讨了一种利用轮廓抠图和贝塞尔原理进行精确快捷抠图。

一、选择方法:

轮廓抠图:轮廓抠图适合解决几何体的要素的图像,因为他的线段是直线于锚点结合,在绘制抠图边际时棱角时他的特征。这在复杂的色度和多维度几何体AI抠图也是无能为力。

贝塞尔抠图:贝塞尔抠图适合曲边(圆滑)要素的图像,因为它线段是 曲线、描点有撬杆调节曲度,使之切合于对象边缘。这在复杂色度合非专业模型的AI来说也是无能为力。

二、技术方向

js是实现网页元素的基础技术,能实现几乎全量的逻辑。也是前端通用化的首选。若牵扯复杂算法,或者多层复杂逻辑可在后端做代码支持。本实现的示例未用后端技术支持即实现了全部逻辑。

三、实施路线

首先,要做一个框架,用于视口坐标合素材坐标的计算依据,上传图片到视口,具体代码是基础技术不再累赘。制作一个操作工具面板,如剪裁、旋转、缩放、镜像等一般图片编辑的工具。而主要的是两个工具轮廓抠图、贝塞尔抠图。

如果想即时看到效果可制作一个实时同步的视口,可以看到编辑的效果。现在开始写代码,先写html框架代码,建立一个js文件,按照轮廓逻辑绘制抠除图像的代码,然而进行实质操作,你会很快的按照你的要求绘制除你要的轮廓,双击闭环。轮廓线以外被切除为透明度0,目标图片透明度100.如图1

如图2

贝塞尔工具抠图与轮廓抠图区别仅仅是锚点增加了双头撬杆,用于调节曲度更加切合目标对象边缘。抠完后用羽化工具羽化边缘,就ok了。该方法与Photoshop更加简便快捷。工具已集成与原创工具集合。欢迎技术合服务以及共享切磋经验。