独家|OpenCV 1.5 利用OpenCV叠加(混合)两幅图像
翻译:陈之炎
校对:顾伟嵩
本文约1300字,建议阅读5分钟在这里将学习如何叠加两幅图像!
目标
在本教程中,你将学习以下内容:
- 什么是线性叠加?为什么它非常有用;
- 如何利用 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 改变图像的对比度和亮度!
往期回顾:
独家|OpenCV 1.1 Mat - 基本图像容器(附链接)
独家|OpenCV 1.2 如何用OpenCV扫描图像、查找表和测量时间(附链接)
独家|OpenCV 1.4 对图像的操作
编辑:王菁
校对:汪雨晴
译者简介
陈之炎,北京交通大学通信与控制工程专业毕业,获得工学硕士学位,历任长城计算机软件与系统公司工程师,大唐微电子公司工程师,现任北京吾译超群科技有限公司技术支持。目前从事智能化翻译教学系统的运营和维护,在人工智能深度学习和自然语言处理(NLP)方面积累有一定的经验。业余时间喜爱翻译创作,翻译作品主要有:IEC-ISO 7816、伊拉克石油工程项目、新财税主义宣言等等,其中中译英作品“新财税主义宣言”在GLOBAL TIMES正式发表。能够利用业余时间加入到THU 数据派平台的翻译志愿者小组,希望能和大家一起交流分享,共同进步
翻译组招募信息
工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。
你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。
其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。
点击文末“阅读原文”加入数据派团队~
转载须知
如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。
发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。
点击“阅读原文”拥抱组织
相关文章
- opencv求逆矩阵函数_c++矩阵
- win10系统下pycharm2017配置opencv-python3.4.5[通俗易懂]
- opencv学习笔记之对灰度图像遍历的三种方法
- opencv 绘图 cvLine cvRectangle cvCircle cvEllipse cvEllipseBox cvFillPoly cvConvexPoly cvPolyLine[通俗易懂
- OpenCV中图像算术操作与逻辑操作
- OpenCV的扩展包opencv_contrib的安装
- OPENCV轮廓提取findContours和drawContours
- python使用opencv如何保存图片_OpenCV Python 保存图片
- opencv(4.5.3)-python(十三)--平滑化图像
- OpenCV快速识别魔方六面颜色
- opencv(4.5.3)-python(二十八)--模板匹配
- 一步步搭建Linux环境并安装OpenCV(linux安装opencv)