图像处理术语解释:什么是PRGBA和Alpha预乘(Premultiplied Alpha )
2024-09-01 12:43:52
☞ ░ 前往老猿Python博文目录 ░
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》。
更多图形图像处理术语请参考《图像处理术语解释:图像的灰度、色相、饱和度、亮度、明度、阿尔法通道、HSL、HSV、RGBA、ARGB和PRGBA概念以及Premultiplied Alpha(Alpha预乘)等基础概念详解》。
跟老猿学Python、学5G!
☞ ░ 前往老猿Python博文目录 ░
最新文章
- 【BZOJ-1127】KUP 悬线法 + 贪心
- C#进阶目录
- Android端接收和发送cookie
- caffe中关于数据进行预处理的方式
- 编写Redis启停服务脚本
- 深搜+回溯 POJ 2676 Sudoku
- cocospod 安装和使用
- Thrift框架介绍
- 《STL源码剖析》chapter2空间配置器allocator
- LA 3998 Prime k-tuple
- R语言画正弦曲线
- 图tp delDataById问题
- AX_Unit
- Word Embedding/RNN/LSTM
- windows下多tomcat部署
- js判断用户的浏览器
- Fedora防火墙配置
- DevExpress ASP.NET v18.2新功能详解(四)
- ubuntu16.04下的htk安装编译
- window批处理——bat文件的编写
热门文章
- leetcode148two-sum
- 想更改Github仓库中的某个文件结构
- 论文解读 - MaskGAN:BETTER TEXT GENERATION VIA FILLING IN THE _____
- vue 常用操作
- python_os_shutil_获取文件夹下所有文件的大小
- 6.java设计模式之适配器模式
- 最全Linux搭建SVN服务端教程
- ubuntu 18.04安装RTL8821CE无线网卡驱动
- python多线程——如何停止一个死循环的线程
- FL Studio钢琴卷轴之刷子工具以及其他