python图片:获得颜色占比,图片尺寸

news2024/9/24 1:24:39

꧂ 获得颜色占比,图片尺寸꧁

在这里插入图片描述

要获取图片的尺寸、大小和颜色占比大于0.001的颜色值,可以基于上一个回答中使用Pillow库的代码进行修改。

from PIL import Image

# 输入图片路径
image_path = input("请输入图片路径: ")

try:
    # 打开图片文件
    image = Image.open(image_path)

    # 获取图片尺寸
    width, height = image.size
    print("图片尺寸:{}x{}".format(width, height))

    # 获取图片大小
    size = image.size[0] * image.size[1]
    print("图片大小:{} 字节".format(size))

    # 统计图片颜色占比
    pixels = image.getdata()
    color_count = {}
    total_pixels = 0

    for pixel in pixels:
        total_pixels += 1
        color_count[pixel] = color_count.get(pixel, 0) + 1

    color_percentage = {color: count / total_pixels for color, count in color_count.items() if count / total_pixels > 0.001}

    print("颜色占比(占比大于 0.001):")
    for color, percentage in color_percentage.items():
        print("颜色 {} 占比:{:.2f}%".format(color, percentage * 100))

except IOError:
    print("无法打开图片文件,请检查路径是否正确。")
except Exception as e:
    print("发生错误:", str(e))

运行代码后,程序会要求您输入图片路径。

输入正确的图片路径后,程序将会打印出图片的尺寸、大小和颜色占比大于0.001的颜色值及其占比。

请注意,颜色占比的阈值可以根据您的需求进行修改,只需将代码中的0.001改为其他比例即可。

꧂按照图片颜色占比大小进行排序꧁

要按照图片颜色占比大小进行排序,可以使用Python的sorted()函数,并根据字典中的值进行排序。

在上面的代码基础上进行修改,添加对颜色占比的排序功能:

from PIL import Image

# 输入图片路径
image_path = input("请输入图片路径: ")

try:
    # 打开图片文件
    image = Image.open(image_path)

    # 获取图片尺寸
    width, height = image.size
    print("图片尺寸:{}x{}".format(width, height))

    # 获取图片大小
    size = image.size[0] * image.size[1]
    print("图片大小:{} 字节".format(size))

    # 统计图片颜色占比
    pixels = image.getdata()
    color_count = {}
    total_pixels = 0

    for pixel in pixels:
        total_pixels += 1
        color_count[pixel] = color_count.get(pixel, 0) + 1

    color_percentage = {color: count / total_pixels for color, count in color_count.items() if count / total_pixels > 0.001}

    print("颜色占比(占比大于 0.001):")
    sorted_colors = sorted(color_percentage.items(), key=lambda x: x[1], reverse=True)
    for color, percentage in sorted_colors:
        print("颜色 {} 占比:{:.2f}%".format(color, percentage * 100))

except IOError:
    print("无法打开图片文件,请检查路径是否正确。")
except Exception as e:
    print("发生错误:", str(e))
输入图片路径后,程序将会打印出图片的尺寸、大小,并对颜色占比大于0.001的颜色值进行排序,并输出其颜色和占比。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1079684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

零售超市商家怎么做微信小程序

随着互联网的发展,越来越多的零售超市商家开始关注如何借助微信小程序引流,以提高销售额和客户满意度。下面将介绍几个策略,帮助零售超市商家借助微信小程序实现引流。 首先,商家需要开发一款适合自己的微信小程序。小程序是一种轻…

win11右键菜单显示更多的设置方法

用了一年多win11系统了,Win11最大的变化之一莫过于右键菜单发生了变化。右键菜单很多时候需要点两次,实在是反人类,太麻烦了。 必须使用“显示更多选项”的右键菜单。 今天分享一个使用命令行更改右键菜单显示更多的设置方法: …

生鲜店怎么做微信小程序

在当今数字化时代,微信小程序已经成为了一种新的商业形态,为各类商家提供了丰富的获客和拉新手段。对于生鲜店来说,如何借助微信小程序来吸引新客户并提高销售额,成为了必须面对的重要问题。本文将为你提供一些实用的策略和建议&a…

【C/C++】 const

1、C语言的const 1、在C语言中 const修饰的局部变量保存在栈区 虽然不能通过const修饰的变量去修改栈区内容,但是可以 通过地址去修改 2、const修饰的全局变量是保存在常量区,不能通过变量名去修改.也不能通过地址去修改 3 、const修饰的全局变量,如果其他文件想使用,直接exte…

空间精密定位与导航VR模拟培训软件突破了时空限制

随着科技的飞速发展,测绘遥感技术逐渐成为地理信息获取的重要手段。然而,传统的测绘展示方式存在着诸多局限性,无法充分展现出测绘数据的精细化和多元化,成为为解决这一难题的有效途径。 测绘工程专业作为时下就业率爆棚的专业之一…

01、python基础知识:

1、注释 多行注释 单行注释 2、 数据类型 3、标识符 关键字 常用的标识符: 常用关键字: 4、输入输出 4.1 格式化输出: 格式化符号 占位符; 5、运算符、 数据类型转化: 1、字符串: 1.1、格式: 单引号、…

css实现排行榜样式(vue组件)

先看效果图&#xff1a; <template><div class"lawyer-refund-wrap"><div class"content"><divv-for"(item, index) in dataList" :key"index":style"{width: calc(100% - ${(index 1) * 10}px)}"c…

VGG卷积神经网络实现Cifar10图片分类-Pytorch实战

前言 当涉足深度学习&#xff0c;选择合适的框架是至关重要的一步。PyTorch作为三大主流框架之一&#xff0c;以其简单易用的特点&#xff0c;成为初学者们的首选。相比其他框架&#xff0c;PyTorch更像是一门易学的编程语言&#xff0c;让我们专注于实现项目的功能&#xff0…

计算机毕业设计选题推荐-springboot 教材管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

Android项目打包aar(kts)

目录 app build.gradle.kts AndroidManifests 按步骤生成 生成结果 双击查看内容 app build.gradle.kts plugins {id("com.android.application")id("org.jetbrains.kotlin.android")id("kotlin-parcelize")id("kotlin-kapt") …

推荐开源工具带带弟弟ocr_ddddocr_各种验证码都可以识别_滑动_点击_等等---验证码识别工作笔记001

这个很强大了,常见的各种验证码都可以识别,如果你项目上也有需要,比如需要实现系统的自动登录,这个时候就很有用了,这里仅仅给出方案,具体如何用,用的时候在做研究吧,好东西要记录,分享给需要的人.使用的时候 自己去查一下如何使用非常简单. 支持点击的验证码,支持数字验证码就…

基于SSM的生活缴费系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

spring boot+ vue位置信息大数据综合管理平台源码

spring boot vue位置信息大数据综合管理平台源码 UWB技术的人员定位系统源码 智慧工厂是产业升级的外在表现形式&#xff0c;利用物联网技术加强信息管理的新模式&#xff0c;人员定位管理通过物联网技术、位置信息大数据的综合处理应用&#xff0c;在智慧工厂人员管理方面具有…

nexus部署私库及上传和拉包处理

部署不在此赘述&#xff0c;部署好后地址为&#xff1a;http://ip:8081/nexus 默认账号和密码&#xff1a;用户名:admin 密码:admin123 nexus里可以配置3种类型的仓库&#xff0c;分别是proxy、hosted、group proxy是远程仓库的代理。比如说在nexus中配置了一个central reposi…

c++视觉处理---霍夫变换

霍夫直线变换的函数 HoughLines 是OpenCV库中用于执行霍夫直线变换的函数。霍夫直线变换用于检测图像中的直线。下面是该函数的基本用法&#xff1a; cv::HoughLines(image, lines, rho, theta, threshold);image: 输入的二值图像&#xff0c;通常是通过边缘检测算法生成的。…

众佰诚:抖音开通橱窗的要求和流程有什么

在当下的社交媒体环境中&#xff0c;抖音作为一款短视频分享平台&#xff0c;已经吸引了大量的用户和商家。其中&#xff0c;抖音橱窗的功能使商家能够以一种更直接和吸引人的方式展示和销售他们的产品。下面&#xff0c;我们将详细介绍一下抖音橱窗的开通要求和流程。 开通要求…

SCI论文高效写作:Citespace、vosviewer和R语言在文献调研与论文撰写中的应用

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

Unity中Shader不同灯光类型的支持与区分

文章目录 前言一、在开始之前做一些准备1、在上一篇文章的场景基础上&#xff0c;增加一个Unity默认的球体作为对照组2、创建一个点光源&#xff0c;用来看点光源的影响 对 Unity默认的Shader效果 和 我们实现的Shader效果 之间的不同 二、点光源的适配把上一篇文章中 ForwardB…

16基于otsuf方法的图像分割,程序已调通,可更换自己的图片进行分割,程序具有详细的代码注释,可轻松掌握。基于MATLAB平台,需要直接拍下。

基于otsuf方法的图像分割&#xff0c;程序已调通&#xff0c;可更换自己的图片进行分割&#xff0c;程序具有详细的代码注释&#xff0c;可轻松掌握。基于MATLAB平台&#xff0c;需要直接拍下。 16matlab图像处理图像分割 (xiaohongshu.com)

微宏科技基于 KubeSphere 的微服务架构实践

作者&#xff1a;尹珉&#xff0c;KubeSphere Ambassador、contributor&#xff0c;KubeSphere 社区用户委员会杭州站站长。 公司简介 杭州微宏科技有限公司于 2012 年成立&#xff0c;专注于业务流程管理和自动化(BPM&BPA)软件研发和解决方案供应商。创始团队毕业于浙江大…