"); //-->
目标
在本教程中,你将学习以下内容:
什么是线性叠加?为什么它非常有用;
如何利用 addWeighted()函数叠加两幅图像。
理论
注
下述解释援引自理查德·斯泽利斯基(Richard Szeliski)的《计算机视觉算法和应用》一书。
从以前的教程中,我们已经学习了一些像素的操作。线性叠加操作符是一个比较有趣的二元(双输入)运算符:
通过改变α的取值(从0→1),此操作符可执行两幅图像或视频之间时间交叉叠加,正如幻灯片放映和电影制作中所示(是不是很酷?)
源代码
下载源代码。
解释
为了执行:
需要输入两幅源图像( f 0 ( x)和f 1 ( x ) )。因此,我们用常用的方法加载两幅图像:
在这里用到 LinuxLogo.jpg 和 WindowsLogo.jpg两幅图像
警告
添加的两幅图像src1和src2必须具备相同的大小(宽度和高度)和数据类型。
接下来,需要生成g(x)图像。为此,利用addWeighted()函数可以很方便地实现:
addWeighted()函数的输出为:
其中,gamma是上述代码中的参数0.0。
创建窗口,显示图像,等待用户结束程序。
结果图像
注:本文以C++语言代码为例,获取Java和python版本可在原文中查看:
https://docs.opencv.org/4.5.2/d5/dc4/tutorial_adding_images.html
下一小节:1.6 改变图像的对比度和亮度!
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。