foreground OpenCV进行Alpha前景与背景图混合

foreground OpenCV进行Alpha前景与背景图混合


文章图片

左上角:前景图像。右上角:Alpha蒙版。左下角:背景图像。右下角:最终合成图像。
在本教程中,我们将学习如何阿尔法混合两个图像。是否要将透明的PNG图像叠加到另一个图像上?
什么是Alpha混合?
阿尔法混合是将前景图像和背景图像叠加在一起的过程。透明度通常是图像的第四个通道(例如,在透明的PNG中),但它也可以是单独的图像。这种透明遮罩通常称为阿尔法遮罩或阿尔法遮罩。
在这篇文章顶部的功能图像中,前景图像显示在左上角,灰色阿尔法遮罩显示在右上角,背景图像显示在左下角,使用阿尔法遮罩的前景图像和背景图像显示在通过混合获得的合成图像的右下角。
阿尔法混合背后的数学很简单。在图像的每个像素处,我们需要使用Alpha蒙版(α)来组合前景图像颜色(f)和背景图像颜色(b)。
注意:alpha公式中使用的值实际上是alpha蒙版中的像素值除以255。因此,在下面的公式中,0 =
I = α F +(1-α)B
从上面的等式中,你可以得出以下观察结果。
当α = 0时,输出像素颜色为背景。
当α = 1时,输出像素颜色仅为前景。
【foreground OpenCV进行Alpha前景与背景图混合】当0
如何在OpenCV(C ++/Python)中实现Alpha混合?
我们来看一个用C ++和Python写的例子,看看如何在OpenCV中实现alpha混合。在接下来的章节中,我们还将展示C ++代码的有效实现。
#include opencv2/opencv.hpp
使用命名空间cv;
使用命名空间标准;
int main(int argc,char** argv)
{
//阅读图片
Mat前台= im read(" puppers . png "/>

    推荐阅读