文章目录

  • 一、区别
  • 二、代码演示原图像与mask融合
  • 三、数据处理

一、区别

  1. 语义分割:每个像素都打上标签(这个像素是人,树,背景等)语义分割只区分类别,不区分类别中的具体单元

  2. 实例分割:不光要区分类别,还要区分类别中的每一个个体

  3. 全景分割:相当于语义分割加上实例分割

二、代码演示原图像与mask融合

from PIL import Imageimport imgvizimport numpy as npimage_file=r'D:\aaa\envs\labelme\Scripts\2_3_json\img.png'mask_file=r'D:\aaa\envs\labelme\Scripts\2_3_json\label.png'image=Image.open(image_file)mask=Image.open(mask_file)mask_img=Image.blend(image.convert("RGBA"),mask.convert("RGBA"),0.5)mask_img.save("vis2.png")

三、数据处理

将labelme标注好的json转换成mask图像

import json
import osimport imgviz
import numpy as np
from PIL import Image
import cv2
import globdef save_colored_mask(mask,image_file):lbl_image=Image.fromarray(mask.astype(np.uint8),mode='P')colormap=imgviz.label_colormap()lbl_image.putpalette(colormap.flatten())lbl_image.save(image_file)json_files=r'E:\桌面\资料\语义分割'
img_file=r'E:\桌面\资料\语义分割\图片'json_l=glob.glob(os.path.join(json_files,'*.json'))for json_ in json_l:name=os.path.basename(json_)img_name=name.replace('json','png')fs=open(json_,encoding='utf-8')dict_=json.load(fs)# 获取图像 宽,高height = dict_['imageHeight']width = dict_['imageWidth']shapes = dict_["shapes"]# 生成一个全零图像img = np.zeros((height, width), dtype=np.uint8)label_color = {"sheep": 1}for shape in shapes:# 解析多边形轮廓点的坐标points = shape['points']# 解析多边形的标签label = shape['label']points = np.array(points, dtype=np.int32)# 绘制轮廓cv2.polylines(img, [points], isClosed=True, color=(255), thickness=2)# 填充多边形颜色cv2.fillPoly(img, [points], color=label_color[label])img_path=os.path.join(img_file,img_name)print(img_path)save_colored_mask(img, img_path)

语义分割学习笔记(一)相关推荐

  1. 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记

    使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记 https://www.bilibili.com/video/BV1rq4y1w7xM?spm_id_from=33 ...

  2. 联合目标检测和语义分割——学习笔记

    联合目标检测和语义分割 目标检测 目标检测是一种与计算机视觉和图像处理相关的计算机技术,用于检测数字图像和视频中特定类别的语义对象(例如人,建筑物或汽车)的实例.然而现实中物体的尺寸.姿态.位置都有很 ...

  3. 霹雳吧啦Wz语义分割学习笔记P3

    P3.FCN网络结构详解 1.前言 Fully Convolutional Networks for Semantic Segmentation 2015CVPR https://arxiv.org/ ...

  4. 语义分割学习笔记(四)膨胀卷积

    推荐课程: 1.膨胀卷积_哔哩哔哩_bilibili(膨胀卷积原理讲的很清楚) 2.膨胀卷积(Dilated convolution)详解_哔哩哔哩_bilibili(gradding effect问 ...

  5. 霹雳吧啦Wz语义分割学习笔记P6

    P6.DeepLabV1网络简介 1.前言 semantic image segmentation with deep convolutional nets and fully connected C ...

  6. 霹雳吧啦Wz语义分割学习笔记P2

    P2.转置卷积Transposed Convolution 1.作用:上采样 转置卷积不是卷积的逆运算 转置卷积也是卷积 2.转置卷积运算步骤 在输入特征图元素间填充s-1行.列0 在输入特征图四周填 ...

  7. 霹雳吧啦Wz语义分割学习笔记P8

    P8.DeepLabV3网络简介 1.前言 Rethinking Astrous Convolution for Semantic Image Segmentation 2017CVPR https: ...

  8. 霹雳吧啦Wz语义分割学习笔记P5

    P5.Pytorch官方实现的FCN网络结构 backbone:VGG16 -> ResNet50:使用了膨胀卷积

  9. 点云分割学习笔记2022

    PointCloudSegmentation 点云分割 PointCloudSegmentation测试笔记_AI视觉网奇的博客-CSDN博客 代码地址:https://github.com/Liya ...

最新文章

  1. KVM 实现机制---(很經典)
  2. 【Linux】一步一步学Linux——groupmod命令(89)
  3. C++内联(inline)函数
  4. 工作237:vuex取值
  5. LeetCode 1465. 切割后面积最大的蛋糕
  6. session和cookie的区别和联系
  7. 初探mysql innodb集群_MySQL InnoDB Cluster搭建
  8. pycharm的todo和fixme标记,标志为今后再做和bug点
  9. 25. 自定义Git
  10. Java编程:KMP算法
  11. Elasticsearch——》es近义词(同义词)配置
  12. 模拟电路——晶体管基础
  13. 【数据结构】银行排队取票机的原理是什么?详解队列
  14. 董明珠和雷军的十亿赌约马上就要到了,谁会笑到最后?
  15. 2014全国计算机等级考试四级数据库工程师考试大纲,全国计算机等级考试四级数据库工程师...
  16. 一款 Windows 上的万能工具 Wox
  17. python输出数字怎么办_python怎么输出数字
  18. Oracle数据库网络详解
  19. Android中设置自己应用为默认打开
  20. 生活质量衡量系统_绿茶提取物可改善系统性红斑狼疮疾病活动以及生活质量

热门文章

  1. Cadence 计算器使用——settling time
  2. 为了保证页面输出安全,我们经常需要对一些特殊的字符进行转义,请写一个函数 escapeHtml,将<, >, , “进行转义
  3. 39. hive 在使用 count(distinct ) over 时报错,提示 Expression not in GROUP BY key
  4. android jnl的mk文件,动态语言与静态语言
  5. uCLinux的编译
  6. gabor滤波器 opencv 实现
  7. yara规则--编写
  8. 微信小程序分享到朋友圈,在朋友圈打开报错 error code -501023
  9. java web 是什么_什么是javaweb开发
  10. 已配置好环境,在CMD中输入adb命令,还是提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法