python中alpha是什么意思_图像处理术语解释:什么是PRGBA和Alpha预乘(Premultiplied Alpha )...
Alpha预乘(Premultiplied Alpha)和PRGBA
一般来说四通道图像数据保存的都是ARGB或RGBA,其R、G、B值还没有进行任何透明化处理,但这种格式在图像合成时会存在两个问题:
由于对有Alpha通道的图片进行合成处理时,先要获取原始图像RGB的值,这个原始图像真正的RGB值必须考虑Alpha通道,因此会进行一次计算:源图像像素颜色 X alpha。如果这种计算都在合成时进行处理,性能处理压力就会集中在合成阶段;
在图像合成时,有时需要进行插值处理,即根据两个图像的差异,采用插值计算来生成一个或多个中间图像,这种插值一般都是以RGB值进行插值计算,但带Alpha通道的图像RGB并不是最终显示颜色的RGB,因此这种插值可能效果不理想。
为了解决这个问题,在图像处理过程中引入了预乘 (premultiplied)这个概念,经过预乘处理的图像格式就称为PRGBA。预乘的算式是NewR=OldR*Alpha,Alpha取值为0-1(如果为0-255,除以255即可),保存的数据通常称为(ar,ag,ab,a),这样PRGBA格式的像素四通道值保存了真正展现时的像素RGB值,又保存了Alpha通道的值,既解决了前面说的两个问题,又可以还原原始RGBA数据。
PRGBA这个表示方法,由于预乘后保存的值是整数,会丢失小数点后的数值,很大可能引入误差,特别是RGB值本身很小Alpha很大的情况下,这个误差可能会比较大。
关于阿尔法通道、RGBA的更多内容请参考《图像(层)正常混合模式详解(上)》、《百度百科-RGBA》。
跟老猿学Python、学5G!
python中alpha是什么意思_图像处理术语解释:什么是PRGBA和Alpha预乘(Premultiplied Alpha )...相关推荐
- python中五种下划线 _
python中五种下划线 "_" 单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:var 单下划线:_ 在文章结尾处,你可以找到一个简 ...
- property field java_Java 中 field 和 variable 区别及相关术语解释
原标题:Java 中 field 和 variable 区别及相关术语解释 先说一下 field 和 variable 之间的区别: class variables and instance vari ...
- python中的列表和元组_百度资讯搜索_python中的列表和元组
腾讯网 11小时前# 元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成.元组是一个有序列表,序列中的每个元素都分配一个数字(...百度快 ...
- python中脚本是指什么_【学习猿地】初识python脚本 #千万别看,我怕你控制不住...
>编写python程序的文件,称为python的脚本或程序 >要求当前的python脚本的文件后缀名必须是.py #### pycharm使用注意 > 需要明确的知道你当前pycha ...
- python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程
python 编程小白 ,不会用doctest 请大神指教怎么用!! >>> >>> def is_between(v, lower, higher): ... ...
- python中numpy数组的合并_基于Python中numpy数组的合并实例讲解
基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...
- python中二进制和文本不同_关于Python字符编码与二进制不得不说的一些事
二进制 核心思想: 冯诺依曼 + 图灵机 电如何表示状态,才能稳定? 计算机开始设计的时候并不是考虑简单,而是考虑能自动完成任务与结果的可靠性, 简单始终是建立再稳定.可靠基础上 经过尝试10进制,但 ...
- python中sub是什么意思_相当于Python中R的sub和paste(字符串和数字的连接)
以前,在R中,我使用sub和paste将字符串和数字连接在一起. 我发现Python有点难.下面是Python中的示例代码import pandas as pd from numpy.random i ...
- python中的符号下划线_详解Python中下划线的使用方法
编程派微信号:codingpy 这篇文章讨论Python中下划线_的使用.跟Python中很多用法类似,下划线 _ 的不同用法绝大部分(不全是)都是一种惯例约定. 单个下划线(_) 主要有三种情况: ...
最新文章
- java.lang.IllegalArgumentException异常处理的一种方法
- 分布式系统的架构思路
- 图解MySQL 内连接、左连接、右连接
- 二进制搜索树_数据结构101:二进制搜索树
- Bootstrap框架学习
- centos7中firewall防火墙命令详解
- [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
- 浅聊矢量场 —— 3. 什么是旋度(Rotational Vector)
- 第5-6课:关键路径算法
- Ansible#Typora-Ansible笔记
- jq click()方法无反应?
- 公众号 自动生成海报 python_Python 生成公众号头图 1.0
- MySQL数据库技术
- HTML <ins> 标签
- OSChina 周二乱弹 —— 怎么制作妹子面
- 【包管理器】vcpkg
- phpMailer在本地可以发送邮件,服务器上不行
- 如何使用Node.js连接数据库
- 计算机专业能力提升,计算机专业学生能力提升的探索.pdf
- android 需要发布的应用市场
热门文章
- 【开源访谈】Kingshard 作者陈非访谈实录【项目简介】 Kingshard 是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQ
- ORCL安装、导出、导入
- forword和重定向有什么区别?
- Unity强化学习工具MLAgents
- 分布式事务数据一致性解决方案
- javascript 清除 服务端 php cookie,Javascript清除cookie的方法
- php高强度精密涂覆钢管,树脂涂覆复合钢管DN600
- win7下安装vs2008失败——解决方法
- 江西理工大学校歌吉他谱
- 如何让CMDB配置维护更贴近人性