首页 > 编程语言 >用python写一段代码:读取一张图片中的所有颜色信息,并按照占比大小,从大到小依次列出颜色的HEX值,并将列出的内容保存到txt文件中

用python写一段代码:读取一张图片中的所有颜色信息,并按照占比大小,从大到小依次列出颜色的HEX值,并将列出的内容保存到txt文件中

时间:2024-09-16 19:47:08浏览次数:9  
标签:颜色 python image color colors file output 列出

from PIL import Image
from collections import Counter
import numpy as np

def save_colors_to_file(image_path, output_file):
    # 打开图片文件
    image = Image.open(image_path)
    image = image.convert('RGB')

    # 将图片转换为numpy数组
    pixels = np.array(image)

    # 获取所有颜色的RGB值,并转换为元组形式,以便可以作为字典的键
    colors = [tuple(pixel) for pixel in pixels.reshape(-1, 3)]

    # 使用Counter统计每种颜色的出现次数
    color_counts = Counter(colors)

    # 按照出现次数从大到小排序颜色
    sorted_colors = sorted(color_counts.items(), key=lambda x: x[1], reverse=True)

    # 将RGB颜色转换为HEX颜色
    hex_colors = [(f'#{int(r):02x}{int(g):02x}{int(b):02x}', count) for (r, g, b), count in sorted_colors]

    # 打开文件并写入颜色信息
    with open(output_file, 'w') as file:
        for hex_color, count in hex_colors:
            file.write(f'HEX: {hex_color}, Count: {count}\n')

# 使用示例
image_path = r'C:\壁纸\1.jpg'  # 替换为你的图片路径
output_file = 'colors_output.txt'  # 输出文件的路径
save_colors_to_file(image_path, output_file)

 

标签:颜色,python,image,color,colors,file,output,列出
From: https://www.cnblogs.com/jingzaixin/p/18416536

相关文章

  • [Python手撕]归并排序
    classSolution:defsortArray(self,nums:List[int])->List[int]:defmerge(nums1,nums2):ifnotnums1andnotnums2:returnNoneifnotnums1:returnnums2ifnotnums2......
  • .NET 一款免安装运行Python的渗透工具
    .NET一款免安装运行Python的渗透工具在网络安全领域,渗透测试是评估系统安全性的重要手段。Python作为一种功能强大且易于使用的编程语言,在渗透测试工具开发中得到了广泛应用。然而,Python环境的安装和配置可能会给渗透测试人员带来一些不便,尤其是在目标机器上缺乏管理员权限的情况......
  • 深入了解Python中的浮点数、自动转换、强制转换与增强赋值运算符
    本套课程在线学习视频https://pan.quark.cn/s/3a470a7bbe67Python是一种强类型语言,具有动态类型和自动内存管理的特性。在数学和科学计算中,浮点数(float)是非常重要的数据类型。本文将详细探讨浮点数的概念、自动转换、强制转换以及增强赋值运算符。通过详细的代码示例和运行结果,帮......
  • 20240917_213927 python 编码小题
    需求提示#在____________上补充代码#不要修改其他代码f=input("请输入一个单词:")print("{}".format("____________"))print("____________".format(f))......
  • 20240917_223927 python 编码小题
    需求提示#在____________上补充代码#不要修改其他代码defvfun(x,b):____________:x+=____________returnxlc=____________print(vfun(10,lc))......
  • Python最全教程(一)
    Python是什么?Python是一种计算机编程语言,属于面向对象编程语言。由“龟叔”(吉多·范罗苏姆)发明。GuidovanRossum  好了,不多说了,我们正式开始Python编程之旅!第一章   Python下载与基本语法介绍安装Python打开Python官网,出现以下界面。 2.点击‘Downloads’,......
  • [Python学习日记-23] Python v2 和 v3 中的字符编码
    简介    在Python中的字符编码(上)和Python中的字符编码(下)中学习了字符编码的理论知识那么就,我们把目光回到Python当中,下面我们来讲述一下Python2和Python3之间的一些关于编码的差别。Python2vsPython3的编码一、Python2    Python出来时还没有......
  • Python中的`raise`语句:如何优雅地控制错误
    引言在软件开发过程中,错误处理是不可避免的话题。良好的错误处理不仅能提高程序的稳定性,还能显著提升用户体验。Python通过异常机制提供了一种优雅的方式来管理这些意外情况。其中,raise语句作为触发异常的关键角色,其重要性不言而喻。本文将从基础语法入手,逐步深入探讨raise语句的......
  • Python编程之旅:定义自定义异常的艺术
    引言在实际开发过程中,我们经常会遇到各种各样的错误情况,如数据类型不符、资源访问失败等。这时候,合理地使用异常处理机制就显得尤为重要了。Python内置了许多异常类,但有时候它们并不能完全满足我们的需求。这时,就需要我们自己动手定义一些特定场景下的异常类型了。定义自定义异常......
  • 【负荷预测】基于CNN-GRU-Attention的负荷预测研究(Python代码实现)
         ......