opencv —— addWeighted 图像叠加(计算数组加权和)
计算数组加权和:addWeighted
可实现两个大小、类型均相同的数组(一般为 Mat 类型)按照设定权重叠加在一起。
void addWeighted(InputArray src1,double alpha,InputArray src2,double beta,double gamma,OutputArray dst,int dtype =-1);
- src1,需要加权的第一个数组,通常是一个 Mat。
- alpha,第一个数组的权重。
- src2,需要加权的第二个数组,需要和第一个数组拥有相同的尺寸和通道数。
- beta,第二个数组的权重。
- gamma,dst[i] = src1[i] * alpha + src2[i] * beta + gamma ; 通常设为 0。
- dst,输出的数组,需要和输入的两个数组拥有相同的尺寸和通道数。
- dtype ,输出阵列的可选深度,默认值为 -1。深度为数据存储类型,有 8 位,16 位,32 位等等。
代码示例:
#include<opencv.hpp>
using namespace cv;
Mat srcImage1, srcImage2, dstImage;
double alpha, beat;
int alpha_value = ;//接收控制条数值
void change_alpha(int, void*) {
alpha = alpha_value / 100.0;//第一个数组权重
beat = 1.0 - alpha;//第二个数组权重
addWeighted(srcImage1, alpha, srcImage2, beat, 0.0, dstImage);
imshow("合成图", dstImage);
}
int main() {
srcImage1 = imread("C:/Users/齐明洋/Desktop/3.jpg");
srcImage2 = imread("C:/Users/齐明洋/Desktop/4.jpg");
//创建控制条
namedWindow("Control");
createTrackbar("Alpha", "Control", &alpha_value, , change_alpha);
waitKey();
}
结果:



opencv —— addWeighted 图像叠加(计算数组加权和)的更多相关文章
- opencv:图像轮廓计算
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- [OpenCV] 4、图像叠加 addWeighted
>_<" 这次主要是图像叠加的基本操作: >_<" cv::addWeighted(imageROI, 1.0, logo, 0.6, 0, imageRO ...
- opencv 3 core组件进阶(2 ROI区域图像叠加&图像混合;分离颜色通道、多通道图像混合;图像对比度,亮度值调整)
ROI区域图像叠加&图像混合 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp&g ...
- Opencv 图像叠加 添加水印
Opencv 图像叠加 添加水印 C++: void Mat::copyTo(OutputArray m) const C++: void Mat::copyTo(OutputArray m, Inp ...
- OpenCV学习:实现简单的图像叠加
本实例使用简单的线性叠加方法来实现两幅图像的叠加,主要使用的知识如下: 1)线性融合 2)addWeighted函数 //! computes weighted sum of two arrays ( ...
- opencv —— calcHist、minMaxLoc 计算并绘制图像直方图、寻找图像全局最大最小值
直方图概述 简单来说,直方图就是对数据进行统计的一种方法,这些数据可以是梯度.方向.色彩或任何其他特征.它的表现形式是一种二维统计表,横纵坐标分别是统计样本和该样本对应的某个属性的度量. 计算直方图: ...
- 学习 opencv---(3) ROI 区域图像叠加&初级图像混合
在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...
- 深入学习OpenCV中图像灰度化原理,图像相似度的算法
最近一段时间学习并做的都是对图像进行处理,其实自己也是新手,各种尝试,所以我这个门外汉想总结一下自己学习的东西,图像处理的流程.但是动起笔来想总结,一下却不知道自己要写什么,那就把自己做过的相似图片搜 ...
- Android OpenCV实现图片叠加,水印
关于如何用纯OpenCV实现图片叠加的例子实在是太少,太多的是使用 C++,JNI实现的,如果要用C++的话,我们为啥不转行做C++ 下面的例子基于 Android JavaCV 实现了在im_bea ...
随机推荐
- 通信协议之Modbus协议(一)
Modbus通信协议: 简介:Modbus协议是应用于电子控制器上的一种通用语言 通过此协议,控制器相互之间,控制器经由网络(例如以太网) 和其他设备之间可以通信,他已经成为一种通用工业标准,有啦它 ...
- FFMPEG学习----遍历所支持的解码器
下面简单介绍一下遍历ffmpeg中的解码器信息的方法(这些解码器以一个链表的形式存储): 1.注册所有编解码器:av_register_all(); 2.声明一个AVCodec类型的指针,比如说AVC ...
- QT笔记:数据库总结
http://blog.csdn.net/reborntercel/article/details/6991147 #include <QtSql> QT += sql QSqlDatab ...
- RT600 I2S外设介绍及应用
恩智浦的i.MX RT600是跨界处理器产品,同样也是i.MX RTxxx系列的开山之作.不同于i.MX RT1xxx系列单片机,i.MX RT600 采用了双核架构,将新一代Cortex-M33内核 ...
- P2571 [SCOI2010]传送带——hyl天梦
P2571 [SCOI2010]传送带题解----天梦 如写的不好,请多见谅. 对于这道题,我首先想说,确实困惑了我好久,看网上的各种题解,却都不尽人意,思路早已明白,却不会操作.最后想想,还是觉得自 ...
- 快速理解YOLO目标检测
YOLO(You Only Look Once)论文 近些年,R-CNN等基于深度学习目标检测方法,大大提高了检测精度和检测速度. 例如在Pascal VOC数据集上Faster R-CNN的mAP达 ...
- 编译原理实验之SLR1文法分析
---内容开始--- 这是一份编译原理实验报告,分析表是手动造的,可以作为借鉴. 基于 SLR(1) 分析法的语法制导翻译及中间代码生成程序设计原理与实现1 .理论传授语法制导的基本概念,目标代码结 ...
- php curl 相关知识
整理了下curl $ch = curl_init(); # 设定url和把结果返回,是否返回头部 curl_setopt($ch, CURLOPT_URL, 'http://www.baidu. ...
- sparc v8 汇编语言语法
1.3.1 Labeling Format Symbol names beginning with a dot (.) are assumed to be local symbols. Names b ...
- Nginx + Linux 性能调优
Nginx以高性能负载均衡.缓存和web服务器出名,支撑着世界上繁忙网站中的40%.大多数使用场景下,Nginx和Linux系统的默认配置表现较好,但是仍有必要做一些调优以期达到最佳性能. 这篇文章讨 ...