码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何显示标注的纯黑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);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    二、多分类mask显示

    若存在多个类别,就需要给每个类别单独定义一种颜色。(彩色图是三通道的,mask图是单通道,所以这种操作也称为伪彩色映射)

    代码如下(示例):

    import cv2
    import numpy as np
    from PIL import Image
    import glob
    
    color_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'):  
            break
        elif key == ord('n'):  
            idx = (idx + 1) % num_images
    
    cv2.destroyAllWindows()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
  • 相关阅读:
    spark性能调优 | 默认并行度
    Java本地缓存框架Caffeine介绍
    【MATLAB教程案例16】基于GWO灰狼优化算法的函数极值计算matlab仿真及其他应用
    Java并发编程-前期准备知识-上
    家庭生活开支如何记录,怎么记账一目了然
    Vuetify3:固定快捷按钮在屏幕右边
    函数递归(C语言)(详细过程!)
    金仓数据库 KingbaseES PL/SQL 过程语言参考手册(13. PL/SQL优化和调优)
    ubuntu 20.04.1 LTS 开机自启动脚本服务开启
    数学建模--粒子群算法(PSO)的Python实现
  • 原文地址:https://blog.csdn.net/qq_43199575/article/details/134376041
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号