本文主要是介绍图像处理中alpha matte,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载文章地址。 https://blog.csdn.net/program_developer/article/details/80008604
matte在字典里的解释是不平滑的意思,matting在photoshop里面是指消除图像的背景边缘或者去掉粗糙点。把digital matting技术应用于图像,是基于这样一个概念,它认为一幅图像是由背景和前景合成的,只是在不同的区域两者参与的比例不一样,在只有背景的地方,前景的参与比例为0%;而在只有前景的地方,背景的参与比例为0%。因此我们把这个比例值定义为一个未知数alpha,即α。这样我们把图像I分割成一个前景对象图像F,一个背景图像B和一个alpha matte α,于是就有了digital matting的数学定义: I=α×F+(1-α)×B。如果再具体一点,针对每个像素,背景颜色为B=[RB,GB,BB],前景对象颜色为F=[RF,GF,BF, α](或者F=[αRF, αGF, αBF]),于是matting方程为I=F+(1-α)×B。通常在应用中都是求这个方程的解,以获得图像的最后分割结果,但如何来解这个方程呢?
解法:灰度图。令RF=GF=BF,这样就只剩下三个方程和两个未知量。
R=α×RF+(1-α)×RB 求RF
G=α×GF+(1-α)×GB 求GF
B= α×BF+(1-α)×BB 求α
Alpha matting技术在图像中的应用主要在对象提取上面,因此在这方面的研究比较多,主要是从单幅图像中提取物体对象,除了人工参与手动描出对象边界外。微软亚洲研究院Jian Sun等人根据Patrick P´erez等人2003年发表的Poisson Editing方法提出Poisson Matting ,实际上是将透明度作为图像的一种内在属性——“场”,变向地寻求其最优解。
下面举一些Alpha Matte的应用场景:
Alpha Matte 是以下面的图层为源,用上面的图层的Alpha通道做选区。
(1)如果Foreground的图片没有Alpha通道,那么它的选区就相当于整个Alpha通道为白色。白色代表作用下的图层不受影响,黑色代表作用下的图层全变透明。其他的按灰阶过渡。于是,做Alpha Matte的结果是,全部显示Foreground图层。
(2)如果Foreground的图片有Alpha通道,那么,做Alpha Matte 的结果是,通道中黑色区域作用下的Foreground图层全为透明。白色作用下的Foreground图层显示。
(3)如果我们对Foreground图层做了一个选区遮罩,这相当于我们对它施加了一个Alpha通道,选区内为白色,选区外为黑色。于是,做Alpha Matte 的结果是,选区内全显示,选区外为透明,不显示。
注意:实际情况中Alpha Matte是一个0到1之间的实数,比如说0.5的话我们可以用下面的公式计算:
图片来源于:
https://blog.csdn.net/sherry_gp/article/details/53453234
Reference:
http://blog.sina.com.cn/s/blog_4dfdfdc30100nbf0.html
这篇关于图像处理中alpha matte的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!