计算数组加权和: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 图像叠加(计算数组加权和)的更多相关文章

  1. opencv:图像轮廓计算

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  2. [OpenCV] 4、图像叠加 addWeighted

    >_<" 这次主要是图像叠加的基本操作: >_<" cv::addWeighted(imageROI, 1.0, logo, 0.6, 0, imageRO ...

  3. opencv 3 core组件进阶(2 ROI区域图像叠加&图像混合;分离颜色通道、多通道图像混合;图像对比度,亮度值调整)

    ROI区域图像叠加&图像混合 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp&g ...

  4. Opencv 图像叠加 添加水印

    Opencv 图像叠加 添加水印 C++: void Mat::copyTo(OutputArray m) const C++: void Mat::copyTo(OutputArray m, Inp ...

  5. OpenCV学习:实现简单的图像叠加

    本实例使用简单的线性叠加方法来实现两幅图像的叠加,主要使用的知识如下: 1)线性融合 2)addWeighted函数 //! computes weighted sum of two arrays ( ...

  6. opencv —— calcHist、minMaxLoc 计算并绘制图像直方图、寻找图像全局最大最小值

    直方图概述 简单来说,直方图就是对数据进行统计的一种方法,这些数据可以是梯度.方向.色彩或任何其他特征.它的表现形式是一种二维统计表,横纵坐标分别是统计样本和该样本对应的某个属性的度量. 计算直方图: ...

  7. 学习 opencv---(3) ROI 区域图像叠加&初级图像混合

    在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...

  8. 深入学习OpenCV中图像灰度化原理,图像相似度的算法

    最近一段时间学习并做的都是对图像进行处理,其实自己也是新手,各种尝试,所以我这个门外汉想总结一下自己学习的东西,图像处理的流程.但是动起笔来想总结,一下却不知道自己要写什么,那就把自己做过的相似图片搜 ...

  9. Android OpenCV实现图片叠加,水印

    关于如何用纯OpenCV实现图片叠加的例子实在是太少,太多的是使用 C++,JNI实现的,如果要用C++的话,我们为啥不转行做C++ 下面的例子基于 Android JavaCV 实现了在im_bea ...

随机推荐

  1. Ceph 存储集群7-故障排除

    Ceph 仍在积极开发中,所以你可能碰到一些问题,需要评估 Ceph 配置文件.并修改日志和调试选项来纠正它. 一.日志记录和调试 般来说,你应该在运行时增加调试选项来调试问题:也可以把调试选项添加到 ...

  2. 死磕mysql

    数据库创建语句 create database new; 创建一个名为new 的数据库 drop database new; 删除名为new的数据库 数据库名为小写,当初教我的那个人对我说在某个系统中 ...

  3. appcompat_v7 res values-v21 error

    [2014-11-03 11:30:25 - AndroidApp] appcompat_v7/res/values-v21/styles_base.xml:75: error: Error retr ...

  4. ubuntu 如何添加alias

    公司的nx 上面一般使用gvim 编辑文件.并且为gvim 增加了alias,只要敲 g 就是gvim 的意思,这样编辑一个文件只需要 g xxx.v 就可以了.非常方便. 在自己电脑上安装了ubun ...

  5. gcc 相关总结 动态链接库

    #include < >与#include " " #include < >:直接到系统指定的目录中去找头文件. #include " " ...

  6. WeChall_Training: Programming 1 (Training, Coding)

    When you visit this link you receive a message.Submit the same message back to http://www.wechall.ne ...

  7. Zabbix:主动模式

    简介 Zabbix 是由 Alexei Vladishev 开发的一种网络监视.管理系统,基于 Server-Client 架构.可用于监视各种网络服务.服务器和网络机器等状态,官方站点:https: ...

  8. Jmeter之将测试结果导出到Excel

    一:环境准备 1.下载jxl.jar这个jar包 2.下载好之后,放到Jmeter的安装路径下的lib目录下 3.jxl.jar的作用:完成对Excel的读写以及修改操作 如何利用jmter操作exc ...

  9. jsplumb 常用事件

    1. jsPlumb.getAllConnections() 获取所有连接线2. jsPlumb.deleteEveryConnection(); 清空所有连接线3. jsPlumb.deleteCo ...

  10. zabbix性能问题

    在我们的zabbixserver端主机数量过多时,如果由server端去收集数据,zabbix会出现严重的性能问题,主要的表现有: 1.当被监控端达到一个量级的时候,web操作会卡,容易出现502 2 ...