如何显示标注的纯黑mask图
文章目录
- 前言
- 一、二分类mask显示
- 二、多分类mask显示
前言
通常情况下,使用标注软件标注的标签图看起来都是纯黑的,因为mask图为单通道的灰度图,而灰度图一般要像素值大于128后,才会逐渐显白,255为白色。而标注的时候,不同类别的像素值是从1,2,3...这样的顺序,所以看起来是纯黑的。
一、二分类mask显示
若只是二分类,原本像素值就只有0和1的区分,那只需要将像素1转换为255即可显示白色,可使用inRange函数。
cv::Mat img = cv::imread("C:/Users/WA.png",0);cv::Mat img_i;cv::inRange(img, 1, 1, img_i); // 上界和下界都为1,即只匹配值为1的像素;将值为1的像素设置为白色(255),其余像素为黑色(保持不变)cv::imshow("img", img);cv::imshow("img_i", img_i);

二、多分类mask显示
若存在多个类别,就需要给每个类别单独定义一种颜色。(彩色图是三通道的,mask图是单通道,所以这种操作也称为伪彩色映射)
代码如下(示例):
import cv2
import numpy as np
from PIL import Image
import globcolor_map = np.zeros((256 * 3)).astype('uint8')
color_map[:3 * 13] = np.array([[0, 0, 0], # 0像素还是得为0[41, 43, 204], # 原像素值为1的[6, 128, 245], # 原像素值为2的[36, 159, 67],[41, 43, 204],[190, 104, 145],[75, 86, 135],[195,120,219],[127, 127, 127],[18, 189, 187],[207, 190, 72],[233, 199, 178],[118, 187, 248]],dtype='uint8').flatten()def labeltocolor(mask):im=Image.fromarray(mask)im.putpalette(color_map)im=np.array(im.convert('RGB'))# cv2.imshow("1",im)# cv2.waitKey()# cv2.destroyAllWindows()return im# 遍历文件夹中的所有图片
image_paths = glob.glob('C:/Users/Desktop/train01/01/mask/*.png')
idx = 0 # 当前图片索引
num_images = len(image_paths) # 图片数量for image_path in image_paths:# 加载单通道遮罩图(假设为灰度图)mask = cv2.imread(image_paths[idx], cv2.IMREAD_GRAYSCALE)# 将遮罩图像应用伪彩色映射mask_color = labeltocolor(mask)cv2.imshow('Result', mask_color)key = cv2.waitKey(0) if key == ord('q'): breakelif key == ord('n'): idx = (idx + 1) % num_imagescv2.destroyAllWindows()
相关文章:
如何显示标注的纯黑mask图
文章目录 前言一、二分类mask显示二、多分类mask显示 前言 通常情况下,使用标注软件标注的标签图看起来都是纯黑的,因为mask图为单通道的灰度图,而灰度图一般要像素值大于128后,才会逐渐显白,255为白色。而标注的时候…...
【算法每日一练]-图论(保姆级教程 篇1(模板篇)) #floyed算法 #dijkstra算法 #spfa算法
今天开始讲图论 目录 图的存储 算任意两点的最短路径: floyed算法: 算一个点到其他所有点的最短距离 dijkstra算法: spfa算法: 图的存储 其实:邻接矩阵和链式向前星都能存边的信息,vector只能存点的信息,再搭配上v[]…...
c语言数据结构---十字链表
#include<stdio.h> #include<stdlib.h> typedef struct node{//十字链表 输入三元组返回矩阵 int row,col,val;struct node *down,*right; }JD,*J; typedef struct {J *rhead,*chead;int mu,nu,tu;//行列非0元 }CS; CS creat(CS M){int m,n,t;;int k,j,e;JD *p,*q…...
使用python电脑轻量级控制手机—adb命令和手机投屏
文章目录 一、通过无线连接手机和电脑二、使用adb命令轻量级控制手机二、使用scrcpy控制手机 通过电脑控制手机有多种方式如appnium等,本文介绍的是两种轻量级的方案,使用adb命令刚和手机投屏。 一、通过无线连接手机和电脑 1、手机设置 开发者选项—us…...
VBA技术资料MF82:替换文件夹中文件名中的字符
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…...
如何利用大模型蒸馏出小模型实现降本
如何让小模型的推理效果在某些领域比 ChatGPT 这样的大模型还要更强?这篇论文提供了一个思路:https://arxiv.org/abs/2212.10071,借助思维链(CoT)逐步解决复杂推理任务的能力,可以使用大模型作为推理教师&a…...
CentOS 中启动 Jar 包
在 CentOS 中启动一个 Jar 包,可以通过 java 命令来实现。具体步骤如下: 确认 Java 环境已经安装并配置好了。 打开终端或者 SSH 连接到 CentOS 服务器。 执行以下命令启动 Jar 包: 复制插入 java -jar /path/to/your/jar/file.jar复制插…...
法治智能起航 | 拓世法宝AI智慧政务一体机重塑法治格局,开启智能司法新篇章
在科技的巨轮推动下,我们的社会正快速迈向一个以数据和智能为核心的新时代。在这个波澜壮阔的变革中,人工智能(AI)显得尤为突出,它不仅是科技进步的象征,更是未来发展的助力者。 2023年,最高人…...
【华为云IaaS基础三件套之----计算ECS、网络EIP、存储EVS】
MD[华为云IaaS基础三件套----计算、网络、存储] 华为云IaaS基础三件套之----计算ECS、网络EIP、存储EVS 说明: 这里只是简单从计算/网络/存储,进行介绍,阐明云上对于云下的优势;因ECS是三者综合,故最后说明。 1.网络----弹性公…...
c语言数据结构---广义表
#include<stdio.h> #include<stdlib.h> typedef struct GNode{//广义表 int NodeTag; //标志域union{ char data;struct GNode *sublist;};struct GNode *next; }*PGNode,PG; void CreateGList(PGNode &GL) {char ch;scanf("%c", …...
2023.11.12使用flask对图片进行黑白处理(base64编码方式传输)
2023.11.12使用flask对图片进行黑白处理(base64编码方式传输) 由前端输入图片并预览,在后端处理图片后返回前端显示,可以作为图片处理的模板。 关键点在于对图片进行base64编码的转化。 使用Base64编码可以更方便地将图片数据嵌入…...
MATLAB中Filter Designer的使用以及XILINX Coefficient(.coe)File的导出
文章目录 Filter Designer的打开滤波器参数设置生成matlab代码生成XILINX Coefficient(.COE) File实际浮点数的导出官方使用教程 Filter Designer的打开 打开Filter Designer: 方法一:命令行中输入Filter Designer,再回车打开。 方法二&…...
js 深度学习(四)
函数 var test function test1(){var a 1,b2console.log(a,b)test1()//递归 } console.log(test.name) //test1 test1() //报错匿名函数表达式 函数自变量 var test function(){->匿名函数var a 1,b2console.log(a,b)test1()//递归 }var test function(a,b){var a 1,b2…...
leetcode刷题日记:121. Best Time to Buy and Sell Stock( 买卖股票的最佳时机)
题目给了我们一组数prices,其中prices[i]表示第i天的股票价格,需要我们求出买卖股票所能获得的最大收益。 我们的第一想法就是从算出每一种买卖股票的情况然后求出里面的最大值,这样我们就能得到最大收益是多少,但是这种情况过于复…...
Mac 本地部署thinkphp8【部署环境以及下载thinkphp】
PHP的安装以及环境变量配置 1 PHP安装:在终端输入brew install php 这里是PHP下载的最新的 如果提示‘brew’找不到,自己搜索安装吧, 不是特别难 2 环境变量配置 终端输入vim ~/.bash_profile 输入export PATH"/usr/local/Cellar/php/8.…...
【汽车电子】CAN总线分析仪使用介绍(PCAN/同星CAN卡)
本篇文章以CAN卡的使用为基本线索,介绍了在汽车电子领域涉及的一些CAN卡使用流程,搭配强大的上位机可以实现诸多功能。文章并没有局限于一种CAN卡,而是针对PCAN和同星的CAN卡分别以常用CAN报文收发以及诊断控制台实现这两种方向进行了CAN卡使…...
C //例 7.13 有一个3*4的矩阵,求所有元素中的最大值。
C程序设计 (第四版) 谭浩强 例 7.13 例 7.13 有一个3*4的矩阵,求所有元素中的最大值。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法:使用指针、动态分配内存 #include <stdio.h> …...
基于SSM的供电所档案管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
excel用RAND函数生成一个大于0小于1的随机数
插入-》函数: 选择RAND函数: 点击“继续”: 点击“确定”,就生成随机数了:...
详解IP安全:IPSec协议簇 | AH协议 | ESP协议 | IKE协议
目录 IP安全概述 IPSec协议簇 IPSec的实现方式 AH(Authentication Header,认证头) ESP(Encapsulating Security Payload,封装安全载荷) IKE(Internet Key Exchange,因特网密钥…...
Retinaface+CurricularFace模型在智能门禁系统中的实战应用
RetinafaceCurricularFace模型在智能门禁系统中的实战应用 1. 引言 想象一下这样的场景:每天早晨上班高峰期,办公楼入口排着长队等待刷卡进门;访客需要在前台登记身份证,保安还要手动核对信息。这种传统门禁方式不仅效率低下&am…...
Graphormer在计算毒理学中的应用:预测hERG通道抑制活性的完整建模流程
Graphormer在计算毒理学中的应用:预测hERG通道抑制活性的完整建模流程 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分子…...
伯克利Octo机器人框架实战:5步搞定跨平台任务迁移(附代码)
伯克利Octo机器人框架实战:5步搞定跨平台任务迁移(附代码) 在机器人开发领域,硬件平台的多样性一直是阻碍算法快速部署的主要瓶颈。想象一下,你花费数月为WidowX机械臂开发的抓取算法,当实验室新购入UR5工业…...
如何自学使用关键字排名软件_关键字排名软件与SEO有什么关系
如何自学使用关键字排名软件_关键字排名软件与SEO有什么关系 在当今数字化时代,SEO(搜索引擎优化)已成为每一个网站运营者必不可少的技能。其中,关键字排名软件扮演了极其重要的角色。如何自学使用关键字排名软件呢?关…...
这面镜子,照出了什么?——一次“自找麻烦“的差距分析实录
在多篇推文的评论区,关于实战案例的呼声一直很高。今天,我们就聊一聊发生在义翘神州实验室日常检测和质量管理中的案例,来一场“自我找茬”:差距分析。 在质量管理领域,“差距分析”这四个字耳熟能详。它就像一面镜子&…...
VMware 虚拟机 Kali Linux 光标消失?五步实操攻略轻松找回
在 VMware Workstation Pro 中运行 Kali Linux 时,不少用户会遇到 “光标隐形” 的棘手问题 —— 系统可正常操作,但光标一进入虚拟机窗口就消失。这一现象多由硬件兼容性、驱动配置或增强工具缺失导致,并非硬件故障。本文整合社区实测有效方…...
3步搞定电脑风扇噪音!FanControl风扇控制软件完全指南,让你的电脑从此安静如新!
3步搞定电脑风扇噪音!FanControl风扇控制软件完全指南,让你的电脑从此安静如新! 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项…...
Streamlit像素UI深度优化教程:解决Ostrakon-VL终端文字遮挡问题
Streamlit像素UI深度优化教程:解决Ostrakon-VL终端文字遮挡问题 1. 项目背景与问题分析 在开发Ostrakon-VL零售扫描终端时,我们选择了一种独特的像素艺术风格UI设计。这种高饱和度的8-bit复古游戏美学虽然提升了用户体验的趣味性,但也带来了…...
Lychee Rerank MM GPU算力:Qwen2.5-VL 7B模型在A10上16GB显存高效运行
Lychee Rerank MM GPU算力:Qwen2.5-VL 7B模型在A10上16GB显存高效运行 1. 引言:当多模态检索遇到“选择困难症” 想象一下,你正在一个庞大的多媒体资料库里搜索。你输入“一只在草地上玩耍的棕色小狗”,系统返回了100个结果&…...
Qt6 + OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现
✨ Qt6 OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现📌 前置环境准备🔧 第一步:创建Qt Widget Application 工程🎨 第二步:界面元素搭建与QSS样式美化2.1 核心界面元素搭建2.2 QSS样…...
