在线图像区域标注工具最初是受一款python开发的为机器图像识别的软件LabelMe的启发,于是我就使用前端技术实现了相同的图像标注功能。
在线图像标注工具项目源代码已经在GitHub开源,该在线图像标注工具基于前端canvas技术实现像素级别的图像操作。通过连续点按图像绘制多个点,然后点练成线,最后线汇成多边形面。该多边形面所覆盖的图像区域就是标注区域。基于该多边形标注区域可以提炼出多维度数据:
- 各个标注区域对应的图像裁切后的base64编码;
- 各个标注区域在图像上的的位置坐标数据;
- 各个标注区域上每一个标注点的位置坐标数据。
如下图所示。将图像导入到在线图像标注工具后,就可以对图像进行标注。我没有限制对一张图像的标注数量,所以一张图像上可以标注的区域有♾个。每一个标注区域相互独立互相不受影响,也就是说,在我还没有给工具添加显示/隐藏已经标注的区域之前,可以在已经绘制的标注区域之上继续绘制,虽然这可能看起来会很乱。
上图是非常标准的图像标注示例。上图中包含3个标注区域,1号标注区域共有6个标注点,2号标注区域共有5个标注点,3号标注区域共有6个标注点。每一块标注区域上的每一个标注点相对于图像的位置坐标数据都可以导出,在线图像标注工具可以将每一块标注区域对应的图像切割下来并导出为base64编码数据。
与其给它起一个叫图像标注工具的死板名称,不如叫它艺术裁纸刀。因为相比于为图像识别提供机器学习的素材,赋予它艺术创作的用途会让我更愉悦一些。与裁剪无聊的汉字、数字和英文字母相比,裁剪人物、风景更有趣味些。裁剪出的图像的风格让我想起了小时候用✂️裁剪废旧书报上的小人儿、小动物,然后粘到墙上编故事的童趣经历。
如果说我的在线图像标注工具的定位是裁剪图像,这么说倒也没错,它就像Adobe Photoshop中的多边形套索工具,而且是简约版的哦。