语义分割 调色板代码
语义分割调色板代码
下面代码的主要作用:根据你的类别数量,生成相同数量的颜色。
比如你有21个类别(voc是20个class和1个background),就可生成相应21个不同的颜色。
def make_palette(num_classes):"""Maps classes to colors in the style of PASCAL VOC.Close values are mapped to far colors for segmentation visualization.See http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html#devkitTakes:num_classes: the number of classes 输入为类别数目Gives:palette: the colormap as a k x 3 array of RGB colors 输出为k×3大小的RGB颜色数组"""palette = np.zeros((num_classes, 3), dtype=np.uint8)#xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器for k in range(0, num_classes):label = ki = 0while label: #按一定规则移位产生调色板palette[k, 0] |= (((label >> 0) & 1) << (7 - i)) #>>为二进制右移palette[k, 1] |= (((label >> 1) & 1) << (7 - i))palette[k, 2] |= (((label >> 2) & 1) << (7 - i))label >>= 3i += 1return palette
这几行代码的主要作用:根据语义分割得到的map和调色板生成最终的结果。seg是语义分割的结果,每个像素代表相应的类别,palette是上一个代码生成的调色板。
#产生一个可视化的类别数组
def color_seg(seg, palette):"""Replace classes with their colors.Takes:seg: H x W segmentation image of class IDs seg是score层产生的类别图(即每一像素的值是0-(num_classes-1)中的一个)Gives:H x W x 3 image of class colors生成一张三通道的彩色图(其中每一种颜色对应一种类别),实际生成是H×W×3的数组,需要经过python中但PIL库调用函数Image.fromarray将此数组转化为一张彩色图(详见infer.py最后几行)"""return palette[seg.flat].reshape(seg.shape + (3,)) #按照类别进行上色
效果图如下
语义分割 调色板代码相关推荐
- 85.4% mIOU!NVIDIA:使用多尺度注意力进行语义分割,代码已开源!
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 下载论文PDF和源代码: 链接:https://pan.baidu ...
- 语义分割MIoU代码解析
1. MIoU 源码解析TensorFlow 和 PyTorch 源码解析 2.[语义分割]语义分割评估指标mIOU 3. 语义分割代码阅读-评价指标mIoU的计算 4. 深度学习计算机视觉图像分割领 ...
- python 图像语义分割mIOU代码详解
mIOU公式在此不赘述. 1.fast_hist(label.flatten(), pred.flatten(), num_classes) 2.生成关于像素的混淆矩阵 k = (a >= 0) ...
- 图像分割技术语义分割代码_用5行代码对150类对象进行语义分割
图像分割技术语义分割代码 It is now possible to perform segmentation on 150 classes of objects using ade20k model ...
- 点云语义分割:PointNet训练S3DIS数据集
文章目录 一.数据准备 1.1.数据下载 二.训练 三.测试 四.6折交叉验证 项目地址:pointnet 此次我们是用pointnet网络来做语义分割.代码在pointnet项目中的sem_seg文 ...
- 语义分割:最简单的代码实现!
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 分割对于图像解释任务至关重要,那就不要落后于流行趋势,让我们来实施 ...
- SegICP:一种集成深度语义分割和位姿估计的框架(附代码)
SegICP: Integrated Deep Semantic Segmentation and Pose Estimation 代码地址:在公众号「3D视觉工坊」,后台回复「SegICP」,即可直 ...
- 天池赛题解析:零基础入门语义分割-地表建筑物识别-CV语义分割实战(附部分代码)
赛题内容 赛题背景 赛题以计算机视觉为背景,要求选手使用给定的航拍图像训练模型并完成地表建筑物识别任务.为更好的引导大家入门,我们为本赛题定制了学习方案和学习任务,具体包括语义分割的模型和具体的应用案 ...
- CV之IS:利用pixellib库基于deeplabv3_xception模型对《庆余年》片段实现语义分割/图像分割简单代码全实现
CV之IS:利用pixellib库基于deeplabv3_xception模型对<庆余年>片段实现语义分割/图像分割简单代码全实现 目录 利用pixellib库基于deeplabv3_xc ...
最新文章
- 客户资料查询传递数据格式
- 4名矿工控制50%算力 去中心化是不是谎言?
- WordPress 设置图片的默认显示方式(尺寸/对齐方式/链接到)
- 几种常用通信协议:IIC协议、SPI协议、UART协议
- 怎么查找那台电脑中了ARP病毒
- Matlab图像剪切,超出图像区域指定颜色填充
- IT Monitor
- JSP的改动需要重启应用服务器才能生效?
- ASP .NET MVC 之Entity Framework入门教程及源码
- mysql报错级别_MySQL启动出现几个警告级别错误
- iOS 后台语音播报功能开发过程中的那些坑
- Docker学习总结(22)——Docke run命令详解
- Android集成Zxing
- linux|文本编辑
- python token_Python实现JWT(JSON Web Token)认证
- 面向对象java试题_经典面向对象试题,用Java做,要详细点的!先谢过了
- 编程基础(五)—— 虚拟内存
- MATLAB-阶乘运算
- Smartdrv在安装操作系统中的作用
- 数据总线、地址总线、控制总线
热门文章
- 2023最新STM32毕业设计项目集合
- 微信jssdk开发java版_微信jssdk
- 服务器升级debian9_如何在Debian 9上设置PageKite前端服务器
- 【QT学习笔记】基于QT的天气预报
- http://www.52mybb.com/ 我爱我宝贝
- carbon安装win7 thinkpad x1_联想thinkpad x1 carbon 2019 wifi版笔记本使用u启动u盘安装win7系统教程...
- pytorch_lesson16.2 架构对学习/鲁棒性的影响(VGG16复现+感受野+平移不变性)+架构对参数量的影响(1*1卷积核+分组卷积与深度分离卷积+NiN网络复现)
- 手机端调起支付宝支付
- 单屏(全屏)适配解决方案(jQuery插件)
- Word数据对比左右并排看