IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【PIL】图像分割竞赛中8位深调色板模式的mask读取与保存 -> 正文阅读

[人工智能]【PIL】图像分割竞赛中8位深调色板模式的mask读取与保存

【PIL】图像分割竞赛中8位深调色板模式的mask读取与保存

1.调色板图像原理

首先理解调色板图像的结构,与RGB模式不同,调色板图像中每个像素为0~255中的一个数,代表颜色索引,而调色板图像本身还会存储一个叫调色板(palette)的数据结构, 最多存储256组rgb颜色。图像中的每一个像素,通过颜色索引, 可以在调色板中获得相应的颜色。
下面是某场比赛的mask数据和它对应的调色板展示:
对应类别
这场比赛只有4类,mask使用的调色板模式,直接这样使用PIL读入图片,其中图像的像素值为颜色索引,一般来说也正好对应了比赛中的类别编号。
调色板
上图为该mask的调色板,因为比赛只有4类,所以除了前4个位置,调色板后面252个位置全置为了0。
不reshape的话,调色板是一维的。

2.代码

2.1 读取mask转换为GT

import os
from PIL import Image
import numpy as np

img_pil = Image.open('mask/xxx.png')
gt = np.array(img_pil)
# img_pil.close() 如果要连续用PIL打开文件最好close一下不用的

2.2 保存调色板

这一步的目的是为了保存模型预测的mask时逻辑上的美观,当然图方便也可以直接用原数据mask中的调色板, 可忽略此步。

img_pil = Image.open('mask/xxx.png')
palette = img_pil.getpalette()  # 获取调色板
np.save('cmap.npy', palette)
img_pil.close()

这样原数据集中的调色板数据就保存在了cmap.npy文件中,之后每次保存mask时就可以直接用cmap的。

2.3 保存预测的mask为调色板模式(P模式)

cmap = np.load('cmap.npy')
img_pil = Image.fromarray(img, mode='P')
img_pil.putpalette(cmap.tolist())  #  赋予调色板,要从numpy变为list
# img_pil.show()
img_pil.save('pred/'+fname)

如果图方便,也可以直接img_pil.putpalette(palette) #2.2中的

3.参考

自制VOC数据集的踩坑记录和解决方案:使用PIL生成8位深的RGB图像

语义分割标签——mask的读取与保存

numpy转PIL.Image: 处理Mask图像为单通道的彩色/灰度图colormap.png

voc分割数据集 pil调色板

自制VOC数据集的踩坑记录和解决方案:使用PIL生成8位深的RGB图像

关于Image模块的调色板

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 22:00:04  更:2021-08-28 22:00:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/1 10:29:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码