itisue 2022-08-24 15:15 采纳率: 62.5%
浏览 33
已结题

opencv如何保存索引图像(带调色板)

例如保存位深度为8的彩色图像,总共是256色。但是opencv似乎只提供8位灰度图,而且最低8位。

  • 写回答

1条回答 默认 最新

  • 爱晚乏客游 2022-08-25 09:41
    关注

    256色不就是8bit位深吗?png格式可以存成8位深的彩色图,如果你接触过VOC数据集就知道里面的mask就是这种格式的彩色图,不过opencv好像存不了这个格式的,一般都是用的PIL存的。扒一个labelme的源码

    import os.path as osp
    
    import numpy as np
    import PIL.Image
    
    
    def lblsave(filename, lbl):
        import imgviz
        if osp.splitext(filename)[1] != ".png":
            filename += ".png"
        # Assume label ranses [-1, 254] for int32,
        # and [0, 255] for uint8 as VOC.
        if lbl.min() >= -1 and lbl.max() < 255:
            lbl_pil = PIL.Image.fromarray(lbl.astype(np.uint8), mode="P")
            colormap = imgviz.label_colormap()
            lbl_pil.putpalette(colormap.flatten())
            lbl_pil.save(filename)
        else:
            raise ValueError(
                "[%s] Cannot save the pixel-wise class label as PNG. "
                "Please consider using the .npy format." % filename
            )
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月26日
  • 创建了问题 8月24日

悬赏问题

  • ¥20 求一个手机号或者Wxid转微信号的工具
  • ¥20 msconfig开启安全引导后重启电脑黑屏
  • ¥15 对email表单做了一般邮箱正则校验,现在需要额外输入为hotmail或outlook、gmail时做特定邮箱校验,不符合提示出来。并且保证不影响其他正确的邮箱格式通过校验,通过不会提示。
  • ¥20 Win11,bitblocker密钥恢复失败
  • ¥15 stm32 cubemx配置sdram,初始化后无法读写sdram
  • ¥100 上位机到dtu再到485继电器模块 目前结束命令有百分之2左右概率执行失败求指导
  • ¥15 ifcopenshell库在vs2019下的配置
  • ¥15 whql认证的windows硬件开发者账号个人验证不匹配问题
  • ¥15 色彩分析仪sensor
  • ¥15 求网页搭建平台会的联系我