2012-01-18 76 views
3

我组合两个RGB图像,逐个像素中,每个不同尺寸的,而将它们组合起来我想的一个是在上面,这是在小型化是透明的关于2在大背景,就像透视。我应该做什么处理?因为现在..将图像恢复为取代像素。我怎样才能实现这种透明度?我正在使用C++。RGB像素透明度

+6

嗯,基本上它的'newColor = ColorTop *阿尔法+ ColorBottom *(1-α)',其中alpha是0和1之间的不透明度值到底是什么你题? – PeterT 2012-01-18 15:37:57

+0

您是否尝试过给图像的权重因子?如果你做的更小的图像* 0.5 +大图像* 1.0以及您可能与透视图像 – Giel 2012-01-18 15:39:53

+0

你正在寻找术语最终总重量除以它是alpha混合。在彩色(RGB)每个信道混合proportionially基于所述Alpha通道的每个像素中的比例。 – 2012-01-18 15:40:37

回答

2

如所指出的评价,用于混合两个图像的基本公式是newColor = ColorTop * alpha + ColorBottom * (1-alpha)

某些图像每像素包含一个alpha值,但是从简要描述来看,这听起来不像您感兴趣的情况。您只需要将恒定透明度应用于整个上图像。让我们假设你想例如33%的透明度:

alpha = 0.33 
Rnew = (Rtop * alpha) + (Rbottom * (1.0 - alpha)) 
Gnew = (Gtop * alpha) + (Gbottom * (1.0 - alpha)) 
Bnew = (Btop * alpha) + (Bbottom * (1.0 - alpha)) 
+0

谢谢你确切的答案,这正是我一直在寻找。 – AlexandruC 2012-01-21 08:56:08