【Python】Picture`s Alpha Analyze

news2024/10/12 6:18:51
# from PIL import Image
# import numpy as np
#
# # 读取图片(确保图片路径正确)
# image_path = '2/0001.png'
# img = Image.open(image_path).convert("RGBA")
#
# # 将图片转换为NumPy数组,方便数据分析
# data = np.array(img)
#
# # 提取透明通道(即Alpha通道)
# alpha_channel = data[:, :, 3]
#
# # 分析透明通道的特性
# # 1. 计算透明通道的最小值、最大值和平均值
# alpha_min = alpha_channel.min()
# alpha_max = alpha_channel.max()
# alpha_mean = alpha_channel.mean()
#
# # 2. 统计完全透明(0值)和完全不透明(255值)的像素数量
# transparent_pixels = np.sum(alpha_channel == 0)
# opaque_pixels = np.sum(alpha_channel == 255)
# total_pixels = alpha_channel.size
#
# # 输出分析结果
# print(f"Alpha通道最小值: {alpha_min}")
# print(f"Alpha通道最大值: {alpha_max}")
# print(f"Alpha通道平均值: {alpha_mean:.2f}")
# print(f"完全透明的像素数量: {transparent_pixels} ({(transparent_pixels / total_pixels) * 100:.2f}%)")
# print(f"完全不透明的像素数量: {opaque_pixels} ({(opaque_pixels / total_pixels) * 100:.2f}%)")
#
# print("\n")

from PIL import Image
import numpy as np
for i in range(10, 33):
    # 读取图片(确保图片路径正确)
    image_path = '5/00{}.png'.format(i)
    img = Image.open(image_path).convert("RGBA")

    # 将图片转换为NumPy数组,方便数据分析
    data = np.array(img)

    # 提取透明通道(即Alpha通道)
    alpha_channel = data[:, :, 3]

    # 分析透明通道的特性
    # 1. 计算透明通道的最小值、最大值和平均值
    alpha_min = alpha_channel.min()
    alpha_max = alpha_channel.max()
    alpha_mean = alpha_channel.mean()

    # 2. 统计完全透明(0值)和完全不透明(255值)的像素数量
    transparent_pixels = np.sum(alpha_channel == 0)
    opaque_pixels = np.sum(alpha_channel == 255)
    total_pixels = alpha_channel.size

    # 输出分析结果
    print(f"Alpha通道最小值: {alpha_min}")
    print(f"Alpha通道最大值: {alpha_max}")
    print(f"Alpha通道平均值: {alpha_mean:.2f}")
    print(f"完全透明的像素数量: {transparent_pixels} ({(transparent_pixels / total_pixels) * 100:.2f}%)")
    print(f"完全不透明的像素数量: {opaque_pixels} ({(opaque_pixels / total_pixels) * 100:.2f}%)")


print("\n")

# from PIL import Image
# import numpy as np
#
# # 读取图片(确保图片路径正确)
# image_path = '5/0001.png'
# img = Image.open(image_path).convert("RGBA")
#
# # 将图片转换为NumPy数组,方便数据分析
# data = np.array(img)
#
# # 提取透明通道(即Alpha通道)
# alpha_channel = data[:, :, 3]
#
# # 分析透明通道的特性
# # 1. 计算透明通道的最小值、最大值和平均值
# alpha_min = alpha_channel.min()
# alpha_max = alpha_channel.max()
# alpha_mean = alpha_channel.mean()
#
# # 2. 统计完全透明(0值)和完全不透明(255值)的像素数量
# transparent_pixels = np.sum(alpha_channel == 0)
# opaque_pixels = np.sum(alpha_channel == 255)
# total_pixels = alpha_channel.size
#
# # 输出分析结果
# print(f"Alpha通道最小值: {alpha_min}")
# print(f"Alpha通道最大值: {alpha_max}")
# print(f"Alpha通道平均值: {alpha_mean:.2f}")
# print(f"完全透明的像素数量: {transparent_pixels} ({(transparent_pixels / total_pixels) * 100:.2f}%)")
# print(f"完全不透明的像素数量: {opaque_pixels} ({(opaque_pixels / total_pixels) * 100:.2f}%)")

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

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

相关文章

配置 Visual studio 2022 Connector C++ 8.0环境 连接MySQL

Connector C 8.0 环境配置 1. 配置 Connector C 头文件地址 (1) 在Mysql的安装路径中找到 MySQL\Connector C 8.0\include\jdbc 例如 : C:\Program Files\MySQL\Connector C 8.0\include\jdbc (2) 打开VS2022&…

如何用好 CloudFlare 的速率限制防御攻击

最近也不知道咋回事儿,群里好多站长都反映被CC 攻击了。有人说依旧是 PCDN 干的,但明月感觉不像,因为有几个站长被 CC 攻击都是各种动态请求(这里的动态请求指的是.php 文件的请求)。经常被攻击的站长们都知道,WordPress /Typecho 这类动态博客系统最怕的就是这种动态请求…

塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用

塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用。 类别:塔吊(Tower-crane) 一种 训练数据已划分,配置文件稍做路径改动即可训练。 训练集: 4724 (正面3224 负面1500) 验证集&#xf…

【父子线程传值TransmittableThreadLocal使用踩坑-及相关知识拓展】

文章目录 一.业务背景二.TransmittableThreadLocal是什么?三.问题复现1.定义注解DigitalAngel2.定义切面3.TransmittableThreadLocal相关4.线程池配置信息5.Controller6.Service7.测试结果8.问题分析9 解决办法及代码改造10.最终测试: 四.与 ThreadLocal…

【大模型实战篇】创建有效的大模型提示词Prompt(提示词工程)

1. 背景介绍 随着chatgpt、llama、chatglm、claude AI等一系列生成式 AI 工具的普及,很明显能感受到,个人的生产力得到了大幅地提升。这些生成式算法模型能够帮助我们开发新想法、轻松获取信息,并简化各种个人和职业任务。个人在日常生活、工…

问卷调查毕设计算机毕业设计投票系统SpringBootSSM框架

目录 一、引言‌ ‌二、需求分析‌ 用户角色‌: ‌功能需求‌: ‌非功能需求‌: ‌三、系统设计‌ ‌技术选型‌: ‌数据库设计‌: ‌界面设计‌: ‌四、实现步骤‌ ‌后端实现‌: …

Python快速编程小案例——猜数字

提示:(个人学习),案例来自工业和信息化“十三五”人才培养规划教材,《Python快速编程入门》第2版,黑马程序员◎编著 猜数游戏是一种经典的密码破译类益智游戏,通常由两个人参与。一个人在心中设…

【C++网络编程】(三)多线程TCP服务端程序

文章目录 (三)多线程TCP服务端程序多线程服务端客户端 (三)多线程TCP服务端程序 图片来源:https://subingwen.cn/linux/concurrence 主线程负责监听和连接多个客户端,子线程负责和对应的客户端进行通信&am…

vue后台管理系统从0到1搭建(4)各组件的搭建

文章目录 vue后台管理系统从0到1搭建(4)各组件的搭建Main.vue 组件的初构 vue后台管理系统从0到1搭建(4)各组件的搭建 Main.vue 组件的初构 根据我们的效果来看,分析一下,我们把左边的区域分为一个组件&am…

如何将本地磁盘镜像包部署到docker中(以mysql5_7.tar.gz为例)

1.复制文件到宿主机 2.找到对应目录,docker load docker images就可以看到该镜像啦

PE结构之导入表

流程图: 文件中\样式 加载到进程中时 加载到进程中时的过程,一张图不够放 续图 整个流程 考虑到 PE32 可执行文件(64 位),每个 ILT (导入名称表) 条目总结为: 如果设置了高位(位 63,也称为“序号标志”&…

【Spring详解】Maven从安装到应用(Maven Help插件的安装)-国内源的配置(中央仓库及私服的概念)

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 &#x1f42f…

48 C 语言实战项目——客户信息管理系统

目录 1 需求说明 1.1 主菜单 1.2 添加客户 1.3 显示客户列表 1.4 修改客户 1.5 删除客户 1.6 退出 2 流程分析 2.1 总流程图 2.2 添加客户流程图 2.3 显示客户列表流程图 2.4 改客户流程图 2.4.1 修改客户总体流程图 2.4.2 具体执行修改部分的流程图 2.5 删除客…

MySQL-约束Constraint详解

文章目录 约束简介非空约束检查约束唯一约束列级约束与表级约束给约束起名字主键约束 约束简介 约束是我们在创建表的时候, 我们可以给表中的字段添加约束确保我们的数据的完整性和有效性, 比如大家平时上网时注册用户常见的 : 用户名不能为空, 对不起, 用户名已经存在等提示信…

【C++】用红黑树模拟实现set与map

目录 一、红黑树的完善: 1、红黑树节点模版的修改: 2、仿函数在模拟实现中的应用: 3、新增迭代器: 4、红黑树中的迭代器实现: 二、set与map的模拟实现: 1、insert: 2、map的[ ]: 三、测…

无刷直流电机工作原理:【图文讲解】

电动机 (俗称马达) 是机械能与电能之间转换装置的通称。可以分为电动机和发电机.一般称电机时就是指电动机。这个在日常应用中,比较多见,比如机器人,手机,电动车等。 直流电机:分为有刷直流电机(BDC&#…

本地ubuntu主机搭建我的世界服务器并免费开启公网映射 结合MESM面板 chmlfrp 保姆级教学

本地ubuntu主机搭建我的世界forge服务器并免费开启公网映射 结合MESM面板 chmlfrp 这是一篇很完成的从ssh命令->配置java环境->安装MCS->部署服务器->开启公网映射的我的世界保姆级开服教程,可以慢慢食用ଘ(੭ˊ꒳ˋ)੭ 。 为什么选择forge服务器进行开服&#x…

【前车之鉴】坑啊~ RestHighLevelClient 超时时间偶尔失效问题解决方案

文章目录 show me code缘起原因分析 几点建议 结论:实际你的配置是生效的,只不过效果不明显而已,通过下面的配置放大直观效果。 show me code 核心代码 public static void main(String[] args) {RestClientBuilder builder RestClient.bu…

【M2TR】M2TR: Multi-modal Multi-scale Transformers for Deepfake Detection

文章目录 M2TR: Multi-modal Multi-scale Transformers for Deepfake Detectionkey points研究贡献方法多尺度变压器频率过滤器跨模态融合损失函数SR-DF数据集实验总结M2TR: Multi-modal Multi-scale Transformers for Deepfake Detection 会议/期刊:ICMR ’22 作者: key …

深入理解栈(Stack)(纯小白进)

目录: 一、栈是什么?1. 栈的概念2.栈的结构选择 二、栈的实现1. 栈结构体的定义2. 栈的初始化3. 栈的销毁4. 入栈5.出栈6. 取栈顶元素7. 栈中元素的个数8. 判断栈是否为空 总结 一、栈是什么? 1. 栈的概念 栈(Stack)…