![]() |
OpenCV 4.12.0
开源计算机视觉
|
上一个教程: 图像操作
下一个教程: 改变图像的对比度和亮度!
| 原始作者 | Ana Huamán |
| 兼容性 | OpenCV >= 3.0 |
我们将学习如何混合两张图像!
在本教程中,您将学习
从我们之前的教程中,我们已经了解了一些像素运算符。一个有趣的二元(双输入)运算符是线性混合运算符
\[g(x) = (1 - \alpha)f_{0}(x) + \alpha f_{1}(x)\]
通过将 \(\alpha\) 从 \(0 \rightarrow 1\) 变化,这个运算符可以用于在两个图像或视频之间执行时间上的交叉溶解,就像在幻灯片和电影制作中看到的那样(很酷,不是吗?)
由于我们将要执行
\[g(x) = (1 - \alpha)f_{0}(x) + \alpha f_{1}(x)\]
我们需要两个源图像( \(f_{0}(x)\) 和 \(f_{1}(x)\))。所以,我们以通常的方式加载它们
我们使用了以下图像: LinuxLogo.jpg 和 WindowsLogo.jpg
现在我们需要生成 g(x) 图像。为此,addWeighted() 函数非常方便
因为 addWeighted() 产生
\[dst = \alpha \cdot src1 + \beta \cdot src2 + \gamma\]
在这种情况下,gamma 是上面代码中的参数 \(0.0\)。
创建窗口,显示图像并等待用户结束程序。