【Matlab】Image labeler图像标注工具的使用

发布于:2022-12-29 ⋅ 阅读:(838) ⋅ 点赞:(0)

背景介绍

本次主要记录使用Matlab进行图像标注的一个过程,属于图像处理的一个前期工作,本次标注的主要目的是对标注区域内的一些数据特征进行计算,生成一个合适的掩膜用于后期的图像处理或特征统计。有错误之处还望大家批评指正。

工具介绍

我们所使用的Matlab版本为2020b,使用工具为Image Labeler,其界面如下图所示
Image_Labeler

  1. New session 用于创建新的标注界面;
  2. Load 内可以导入图片信息 标签信息 还有原来保存的界面信息;
  3. save内可以保存标签定义 或者标注信息;
  4. Import Labels内可以导入定义好的标签信息;

创建标签类型

进入页面后如过我们原来未使用过,可以先定义一个标签
Define_Labeler

我们可以选择不同类型的标注用于不同的环境中,这里我们使用 Pixel label 基于像素级别的标注如下图所示
Define_Labeler_End

我们可以通过这个标签,对导入的图像进行区域标注,当一个图片存在多个类别时,我们可以创建不同类型的标签用于后续的标注。

图像标注

通过点击Load 选择add导入单张或多张图片。
Import_Image
这里我们以标注篮球为例子
Labeler_Process
选择对应的标签,选择合适的工具,将对应的轮廓选中即可,需要形成闭合的区域,即可完成标注,如需要多张图片或其他类别的标注,我们可以通过添加标签定义或者继续添加其他图片的方式完成标注工作。

标注信息导出

我们可以通过Export Labels将标注的信息进行导出,有两种方式,一种是导出到工作区一种是保存的文件内生成一个.mat文件

Export_Label
这里我们选择导出至工作空间内,设置掩膜存储路径与变量的名称
Export_Label_Out

导出信息处理

导出后的信息如下图所示
Label_Info
一个标签对象与一个标签图像,你可能得到一张全黑的图像,这是由于Matlab导出的掩膜为逻辑变量即0与1,而在系统中显示的时候以uint8显示,因此得到一张全黑的图像,我们可以进行处理,就得到想要区域的掩膜

imshow(logical(imread(string(gTruth.LabelData.PixelLabelData(1)))));%读取标记信息

这里的1是第一的意思,如果有多张,可以自行设计程序进行遍历。效果如下图所示
Label_Bin

本文含有隐藏内容,请 开通VIP 后查看