1. 获取单张图片颜色

from PIL import Image
import numpy as np# 因为 OpenCV 读取图片时,会修改部分图片模式
# 可以参考 https://blog.csdn.net/m0_49270962/article/details/124988735
# 所以选择 PIL 读取图片
img = Image.open(img_path)color_list = np.unique(np.array(img).reshape(-1, len(img.getbands())), axis=0)
print(color_list)

2. 获取目录下所有图片颜色集合

2.1. 获取图片路径列表

import os
def get_img_path_list(img_dir):'''获取 img_dir 下所有图片的路径'''img_path_list = []for root, dirs, files in os.walk(img_dir):for file in files:img_path_list.append(osp.join(root, file))return img_path_list

2.2. 获取单张图片颜色集合

import numpy as np
from PIL import Imagedef get_color_set(img_path) -> set:'''获取 img_path 图片的全部颜色Returns---color_set: {(b, g, r), (b, g, r), ...}'''color_set = set()# 因为 OpenCV 读取图片时,会修改部分图片模式# 所以选择 PIL 读取图片img = Image.open(img_path)# color_list = np.unique(img.reshape(-1, img.shape[2]), axis=0)color_list = np.unique(np.array(img).reshape(-1, len(img.getbands())), axis=0)for color in color_list:color_set.add(tuple(color))return color_set

2.3. 获取图片颜色集合

def get_mul_color_set(img_dir):mul_color_set = set()img_path_list = get_img_path_list(img_dir)for img_path in img_path_list:# 当图片多的时候可以print看一下进度# print(img_path)mul_color_set.update(get_color_set(img_path))return mul_color_set

2.4. 主函数

if __name__ == "__main__":print(get_mul_color_set(img_dir))

3. 附

这几日在处理语义分割的掩膜,但是

  1. 自己做的数据集不知道颜色配置的效果(归一化的图像常常一片黑)
  2. 引用的数据集不知道 label 的具体颜色值

所以就有了这篇拙作

4. 参考

python 3.x - Output the number of each RGB value of an mask image using pillow? - Stack Overflow: https://stackoverflow.com/questions/62842234/output-the-number-of-each-rgb-value-of-an-mask-image-using-pillow


  • 文章系个人学习总结,希望可以给大家带来些许启发,欢迎提出建议或给予指正。
  • 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
  • 欢迎大家转载分享,转载请标明源地址,谢谢

python 列举图像颜色相关推荐

  1. python改变图像颜色_通过python改变图片特定区域的颜色详解

    首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数. ...

  2. Python OpenCV图像颜色分割

    import cv2 as cv import numpy as npimg = cv.imread(r'C:\Users\Mingjoy\Desktop\01.bmp') img = cv.resi ...

  3. python 颜色_如何使用python中matplotlib库分析图像颜色

    用代码分析图像可能很困难.你如何使代码"理解"图像的上下文? 通常,使用AI分析图像的第一步 是找到主要颜色.在如何使用python中matplotlib库分析图像颜色中,我们将使 ...

  4. halcon边缘提取颜色相近_初学者福利!三种用Python从图像数据中提取特征的技术...

    全文共4073字,预计学习时长8分钟 你之前是否使用过图像数据?也许你想建立自己的物体检测模型,或者仅仅是想统计走进某栋建筑物的人数,使用计算机视觉技术处理图像拥有无穷无尽的可能性. 但数据科学家最近 ...

  5. Python Imaging Library: ImageColor Module(图像颜色模块)

    Python Imaging Library: ImageColor Module(图像颜色模块) 图像颜色模块(ImageColor Module)支持的字符串格式如下: 十六进制(Hexadeci ...

  6. 图像颜色特征提取(颜色直方图,颜色矩)--python

    图像颜色特征提取(颜色直方图,颜色矩)–python 颜色直方图 颜色直方图用以反映图像颜色的组成分布,即各种颜色出现的概率.Swain和Ballard最先提出了应用颜色直方图进行图像特征提取的方法, ...

  7. Python练习 | Python之图像的基本操作和处理

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 ***************** ...

  8. 使用OpenCV和Python计算图像的“彩色度”

    使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...

  9. 使用 Python 的图像隐写术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 今天,世界正在见证前所未有的数据爆炸,我们每天产生的数据量确实令人 ...

  10. 使用OpenCV和Python从图像中提取形状

    Welcome to the first post in this series of blogs on extracting features from images using OpenCV an ...

最新文章

  1. Laravel Dcat Admin 安装
  2. vue项目在移动端(手机)调试
  3. 文件上传下载流程设计
  4. Ant in Action读书笔记(三):在Ant中导入环境变量
  5. 查找特定的值(信息学奥赛一本通-T1110)
  6. 【C/C++】C++重复率最高、最经典面试题/笔试题【持续更新】
  7. Java Session 会话技术
  8. 【智驾深谈】从滴滴Uber合并看中国智能出行“三国演义”
  9. 物联网智慧校园建设系统源码
  10. if or函数套用_excel if函数和or函数结合使用的方法
  11. Redis之listpack、rax
  12. Android 11 功能和 API 概览
  13. 人脸图像切割分离工具
  14. 最新版Shiro-SpringBoot项目实战笔记
  15. 多台服务器连一个显示器如何切换,多台主机一台显示器怎么弄
  16. RCN-Rich feature hierarchies for accurate object detection and semantic segmentation
  17. Scaled-YOLOv4: Scaling Cross Stage Partial Network 论文翻译
  18. 学习:SharePoint Caml Filter with Muli-values Lookup field
  19. 使用opencv时报错:C2065 “CV_COMP_CORREL”: 未声明的标识符
  20. DOS下对系统重新进行分区

热门文章

  1. Vmware Tools安装详细步骤
  2. Delphi实现通用的定时自动关机程序
  3. 计算机控制环境下审计风险研究,计算机审计风险研究
  4. 天邑TY1608卡刷包晶晨S905L3B支持RTL8822CS、MT7668、MT7661
  5. thinkpad指纹识别linux,在Ubuntu下启用ThinkPad X250的指纹识别
  6. 计算机软件 属于特许权,​软件使用权是否属于无形资产
  7. TPC_mcgs打印方案
  8. Linux网络-MAC协议
  9. echarts按照时间显示柱状图_百度Echarts 柱状图 动态显示
  10. 图——基本的图算法(四)关键路径