使用openCV(C ++ / Python)的Alpha混合
概要
在本教程 - 使用OpenCV的Alpha混合物中,我们将学习如何将两个图像混合并叠加透明的PNG图像,覆盖OpENCV中的另一个图像。我们正在共享C ++和Python中的代码。
什么是Alpha混合?
α混合是在背景图像上覆盖具有透明度的前景图像的过程。透明度通常是图像的第四个通道(例如,在透明的PNG中),但也可以是单独的图像。这种透明性面膜通常称为alpha面具或α哑光。
在本文顶部的特征图像中,前景图像显示在左上方,灰度alpha面膜显示在右上角,背景图像显示在左下方,并通过将前景图像和使用Alpha蒙版的背景图像混合而获得的复合图像显示在底部的右下。
Alpha混合背后的数学很简单。在图像的每个像素上,我们需要使用Alpha Mask()组合前景图像颜色(F)和背景图像颜色(B)。
注意:方程中使用的值是Alpha蒙版中的像素值除以255。因此,在下面的等式中,
从上面的方程式,您可以进行以下观察结果。
- 何时,输出像素颜色为背景。
- 何时,输出像素颜色为前景。
- 当输出像素颜色是背景和前景的