如何显示标注的纯黑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,因特网密钥…...
基于Arduino与应变片传感器的高精度厨房电子秤DIY全攻略
1. 项目概述:用Arduino打造一台高精度厨房电子秤作为一个喜欢在厨房里折腾的硬件爱好者,我经常遇到需要精确称量食材的场合。市面上的电子秤要么精度不够,要么价格不菲,要么功能单一。于是,我萌生了自己动手做一台的想…...
【DeepSeek测试用例生成实战指南】:20年QA专家亲授5大高覆盖率生成模式与3个避坑红线
更多请点击: https://codechina.net 第一章:DeepSeek测试用例生成的核心价值与适用边界 DeepSeek系列大模型在代码理解与生成任务中展现出显著的上下文建模能力,其测试用例生成功能并非通用“黑盒测试器”,而是聚焦于**单元级、函…...
Python PIL 画矩形框
基础代码 from PIL import Image, ImageDraw# 打开图片 img Image.open(your_image.jpg)# 创建绘图对象 draw ImageDraw.Draw(img)# 矩形坐标 (x1, y1, x2, y2) coords (23, 21, 69, 76)# 画矩形框(红色,线宽2) draw.rectangle(coords, ou…...
全链路压测实战:双十一级别的流量,我是这样扛住的
作为一名在质量保障领域摸爬滚打多年的测试工程师,我深知传统的单接口压测在如今分布式架构下的无力感。当业务流量达到双十一这种脉冲式、高并发的级别时,任何一个非核心链路上的“短板”都可能引发系统性的雪崩。全链路压测不再是选择题,而…...
孤舟笔记 互联网常用框架篇三 Dubbo是如何动态感知服务下线的?注册中心和服务端双保险
文章目录先说结论机制一:注册中心通知机制二:心跳检测机制三:连接事件感知机制四:定时拉取四种机制的协作回答技巧与点评加分回答面试官点评个人网站微服务环境下,服务实例随时可能上下线——重启、扩容、宕机……调用…...
通过用量看板分析团队大模型API消耗发现优化调用策略的机会
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板分析团队大模型API消耗发现优化调用策略的机会 作为团队的技术负责人,确保大模型API调用在满足业务需求的…...
Style-Bert-VITS2未来发展方向:从语音克隆到实时语音转换的技术演进路线
Style-Bert-VITS2未来发展方向:从语音克隆到实时语音转换的技术演进路线 【免费下载链接】Style-Bert-VITS2 Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles. 项目地址: https://gitcode.com/gh_mirrors/st/Style-Bert-VITS2 Style-Bert…...
别再乱建索引了!用Explain的key_len字段,一眼看穿你的MySQL联合索引到底生效了几个字段
解密MySQL联合索引:用key_len精准判断索引生效范围 在数据库性能优化领域,联合索引的使用一直是个既基础又容易踩坑的话题。很多开发者虽然知道"最左匹配原则"这个名词,但在实际业务场景中,面对复杂的查询条件组合时&a…...
Lovable内部工具开发方法论(从需求黑洞到用户自发推广的完整闭环)
更多请点击: https://kaifayun.com 第一章:Lovable内部工具开发方法论(从需求黑洞到用户自发推广的完整闭环) Lovable 方法论的核心不是交付功能,而是培育“工具依赖感”——当一线工程师在凌晨三点调试线上问题时&am…...
Linux CPU性能优化:D状态和Z状态排查与处理
文章目录一、Linux进程五大基本状态1. 运行状态(R,Running / Runnable)2. 可中断睡眠状态(S,Interruptible Sleep)3. 不可中断睡眠状态(D,Uninterruptible Sleep)4. 停止…...
