前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python开发---语义分割标注转图片掩膜

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

原创
作者头像
MiaoGIS
发布2022-03-02 17:07:48
1.6K0
发布2022-03-02 17:07:48
举报
文章被收录于专栏:Python in AI-IOTPython in AI-IOT

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

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

导出为VGG JSON格式如下:

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

代码如下:

代码语言:python
复制
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 删除。

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档