专栏首页Python in AI-IOTPython开发---语义分割标注转图片掩膜
原创

Python开发---语义分割标注转图片掩膜

在深度学习进行图像识别,物体检测,语义分割,实例分割时,需要使用已经标注好的数据集来训练模型。

可以使用常用的标注软件或在线标注平台来进行图像数据集的标注。通常标注后的格式为XML格式(VOC XML),或JSON格式(VGG JSON,COCO JSON),但是训练阶段(尤其是语义分割)时有时候使用图片格式更为方便。

导出为VGG JSON格式如下:

使用PIL将语义分割标注后的JSON格式转换为图片格式

代码如下:

from PIL import Image,ImageDraw
import json
import os
def json2jpg(annosFile,imgsDir,masksDir,colorMap,isAlpha,backgroundColor):
    f=open(annosFile,'r')
    annos=json.load(f)
    f.close()
    for file,anno in annos.items():
        print(file)
        #读取原始图像大小
        rawFile=os.path.join(imgsDir,anno['filename'])
        
        rawImg=Image.open(rawFile)
        #新建同样大小画布,jpg格式还是png格式
        mode='RGBA' if isAlpha else 'RGB'
        ext='.png' if isAlpha else '.jpg'
        maskImg=Image.new(mode,rawImg.size,backgroundColor)
        draw=ImageDraw.Draw(maskImg)
        for index,region in anno['regions'].items():
            print(index)
            x=region['shape_attributes']['all_points_x']
            y=region['shape_attributes']['all_points_y']
            label=region['region_attributes']['label']
            x=map(int,x)
            y=map(int,y)
            #使用标注类别对应的颜色标注每一个标注区域
            draw.polygon(list(zip(x,y)),fill=colorsMap.get(label,backgroundColor))
        maskFile=os.path.join(masksDir,os.path.splitext(anno['filename'])[0])
        maskImg.save(maskFile+ext)



if __name__=='__main__':
    #定义各个标注类别对应的颜色
    colorsMap={'foreground':'#00ff00','body':'yellow'}
    json2jpg('labels.json','pics/','masks/',colorsMap,True,'black')
        
    
    

同理对于COCO JSON等其他JSON格式,以及XML格式都可以利用PIL转换为掩膜图片。

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • 动手实践系列:CV语义分割!

    图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意味着要将图片根据内容分割成不同的块。相比图像分类和检测,分割是一项更精细的工作,因为需要对每个像素点...

    Datawhale
  • 入门 | 一文概览视频目标分割

    机器之心
  • 【从零开始学Mask RCNN】一,原理回顾&&项目文档翻译

    从今天开始,我将为大家逐步介绍Mask RCNN这个将检测和分割统一起来的框架的具体原理以及详细代码解读,项目地址为https://github.com/mat...

    BBuf
  • 干货 | 全方位解读全景分割技术, 从任务定义到网络构建与预测

    AI 科技评论按,本文作者刘环宇,系浙江大学控制科学与工程自动化系硕士,旷视科技研究院算法研究员,全景分割算法 OANet 第一作者,研究方向包括全景分割、语义...

    AI科技评论
  • 业界首个高性能交互式自动标注工具——EISeg正式开源!

    在人工智能行业有这么一句话:“深度学习有多智能、背后就有多少人工”。这句话直接说出了深度学习从业者心中的痛处,毕竟模型的好坏数据占着很大的因素,但是数据的标注成...

    用户1386409
  • 【AI有识境】如何掌握好图像分割算法?值得你看的技术综述

    进入到有识境界,可以大胆地说自己是一个非常合格的深度学习算法工程师了,能够敏锐地把握自己研究的领域,跟踪前沿和能落地的技术,对自己暂时不熟悉的领域也能快速地触类...

    用户1508658
  • GitHub 又一图像标注神器问世,代号「EISeg」!

    在人工智能行业有这么一句话:“深度学习有多智能、背后就有多少人工”。这句话直接说出了深度学习从业者心中的痛处,毕竟模型的好坏数据占着很大的因素,但是数据的标注成...

    GitHubDaily
  • 实例分割算法之Mask R-CNN论文解读

    Anchor-Based的目标检测算法我们已经讲了比较多了,另外Anchor-Free的目标检测我们也已经简单解读了一下DenseBox开了个头,而今天我们要来...

    BBuf
  • 神奇的 Animal Matting 算法,毛发抠图不是事。

    抠图问题的核心是精确地将图像或视频中的前景估计出来,对图像编辑,影片剪辑等都有很深的意义。

    Jack_Cui
  • 如何为计算机视觉任务选择正确的标注类型

    机器学习中的注释(Annotation)是标记数据的过程,可以是文本,视频,图像或音频等形式。在计算机视觉任务中,图像注释有助于计算机更好的理解图像,计算机尝试...

    磐创AI
  • AI Talk | 数据不均衡精细化实例分割

    图像实例分割技术已经被广泛应用于工业视觉,自动驾驶,遥感监测和医疗诊断等领域。特别在工业AI质检中,实例分割往往是对质检图像进行解析的最核心技术之一。然而,实际...

    腾讯云TI平台
  • 这款图像自动标注软件,终于开源了

    深度学习大法固然好,但算法训练需要标注大量数据,不论是时间还是金钱成本都让很多从业的小伙伴们头疼不已。矩形框标注还相对简单,遇到像素级别的分割标注,工作量又是几...

    HelloGitHub
  • 遥感资源大放送(上):用开源代码,训练土地分类模型

    内容概要:土地分类是遥感影像的重要应用场景之一,本文介绍了土地分类的几个常用方法,并利用开源语义分割代码,打造了一个土地分类模型。

    HyperAI超神经
  • 【语义分割】一篇看完就懂的最新深度语义分割模型综述

    语义分割结合了图像分类、目标检测和图像分割,通过一定的方法将图像分割成具有一定语义含义的区域块,并识别出每个区域块的语义类别,实现从底层到高层的语义推理过程,最...

    AI算法与图像处理
  • AI Talk | 数据不均衡精细化实例分割

    图像实例分割技术已经被广泛应用于工业视觉,自动驾驶,遥感监测和医疗诊断等领域。特别在工业AI质检中,实例分割往往是对质检图像进行解析的最核心技术之一。然而,实际...

    腾讯云TI平台
  • 【杂谈】除了生成图像(造假),GAN如何给目标检测,图像分割,图像增强等问题打辅助?

    欢迎大家来到《知识星球》专栏,在GAN刚刚诞生的时候,的确只是用于生成图像造造假,做做数据增强,但是后来研究人员发现对抗思想是一个非常好的东西,几乎可以用于所有...

    用户1508658
  • 14篇论文入选CVPR!快手视觉研究成果精华总结

    计算机视觉和模式识别领域的顶级会议 CVPR 正在进行中,本次大会接收率为 23.7%,其中快手有 14 篇论文被接收,这也是快手在国际视觉技术相关领域顶级会议...

    公众号-arXiv每日学术速递
  • 「深度学习一遍过」必修27:基于Mask-RCNN的人体姿态估计的设计与实现

    Classic_model_examples/2017_Mask-RCNN_TargetDetectionAndSegmentation at main · z...

    荣仔_最靓的仔

扫码关注腾讯云开发者

领取腾讯云代金券