网站建设报价表格/国内十大搜索引擎网站

网站建设报价表格,国内十大搜索引擎网站,铭品装饰公司,深圳做网站6001 addWeighted函数 在OpenCV 里,addWeighted 函数的作用是对两个图像进行加权求和,常用于图像融合、图像过渡等场景。函数如下: cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])2 参数解释 src1:第一个输入图…

1 addWeighted函数

在OpenCV 里,addWeighted 函数的作用是对两个图像进行加权求和,常用于图像融合、图像过渡等场景。函数如下:

cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])

2 参数解释

  • src1:第一个输入图像。
  • alpha:第一个输入图像的权重,取值范围是 0 到 1。
  • src2:第二个输入图像,它的大小和通道数必须与 src1 相同。
  • beta:第二个输入图像的权重,取值范围是 0 到 1。
  • gamma:标量值,添加到加权和中(通常用于亮度调整)。
  • dst:输出图像(可选参数,直接通过返回值获取)。
  • dtype:输出图像的可选深度,若未指定,则使用输入图像的深度。

该函数将两个图像按权重相加,实现图像的线性混合,其数学公式为:
d s t = α ∗ s r c 1 + β ∗ s r c 2 + γ dst = \alpha * src1 + \beta * src2 + \gamma dst=αsrc1+βsrc2+γ

3 注意

  1. 图像尺寸和通道数src1src2 必须具有相同的尺寸和通道数,否则会报错。
  2. 权重和alpha + beta 不需要等于 1,但若想实现透明度混合(如 alpha + beta = 1),需自行控制。
  3. 数据类型:若输入为 uint8 类型,结果会自动截断到 [0, 255] 范围(饱和操作)。
  4. gamma 的作用:用于调整输出图像的亮度(例如,gamma=10 会使整体亮度增加)。
    • 若 alpha + beta > 1,图像可能过曝(值被截断到 255)。
    • 若 gamma > 0,整体亮度增加;若 gamma < 0,亮度降低。
  5. cv2.add() 的区别cv2.add() 是直接相加(无权重),而 addWeighted() 允许更灵活的线性组合。

4 函数原型

def addWeighted(src1: Mat, alpha, src2: Mat, beta, gamma, dts: Mat = ..., dtype=...) 
from __doc__"""'addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) -> dst  . @brief Calculates the weighted sum of two arrays.   . The function addWeighted calculates the weighted sum of two arrays as follows:                          . \\f[\\texttt{dst} (I)= \\texttt{saturate} ( \\texttt{src1} (I)* \\texttt{alpha} +  \\texttt{src2} (I)* \\texttt{beta} +  \\texttt{gamma} )\\f] . where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each. channel is processed independently.   . The function can be replaced with a matrix expression:   . @code{.cpp}       . dst = src1*alpha + src2*beta + gamma;   . @endcode   . @note Saturation is not applied when the output array has the depth CV_32S. You may even get   . result of an incorrect sign in the case of overflow.   . @param src1 first input array.   . @param alpha weight of the first array elements.  . @param src2 second input array of the same size and channel number as src1.               . @param beta weight of the second array elements.  . @param gamma scalar added to each sum.   . @param dst output array that has the same size and number of channels as the input arrays.  . @param dtype optional depth of the output array; when both input arrays have the same depth, dtype   . can be set to -1, which will be equivalent to src1.depth().   . @sa  add, subtract, scaleAdd, Mat::convertTo'"""pass

5 函数应用

  1. 图像叠加:例如,在制作幻灯片过渡效果时,就可以使用该函数实现图像的平滑过渡:通过调整 alphabeta 实现淡入淡出效果。

  2. ROI 混合:结合掩码(mask)对局部区域进行混合:

roi = img1[y:y+h, x:x+w]
blended_roi = cv2.addWeighted(roi, 0.5, img2_roi, 0.5, 0)
img1[y:y+h, x:x+w] = blended_roi

6 示例代码

代码如下:

import cv2# 读取两张图像
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.png')# 定义权重
alpha = 0.7
beta = 0.3
gamma = 0# 进行加权求和
result = cv2.addWeighted(image1, alpha, image2, beta, gamma)# 显示结果
cv2.imshow("Touxiang", image1)
cv2.imshow("Zi", image2)
cv2.imshow('Weighted Image', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

通过以上代码,可以将两张图片融合,配置不同的alpha和beta值,可以得到不同融合效果。

融合前:
在这里插入图片描述
融合后:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tcp网络通信的基本流程梳理

先来一张经典的流程图 接下介绍一下大概流程&#xff0c;各个函数的参数大家自己去了解加深一下印象 服务端流程 1.创建套接字&#xff1a;使用 socket 函数创建一个套接字&#xff0c;这个套接字后续会被用于监听客户端的连接请求。 需要注意的是&#xff0c;服务端一般有俩…

leecode797.所有可能的路径

深度优先搜索 class Solution { private:vector<vector<int>> result;vector<int> temp;void allPathsSourceTarget(vector<vector<int>> &graph,int v){if(vgraph.size()-1)result.push_back(temp);else{for(auto& adjVertex:graph[v]…

第八节:红黑树(初阶)

【本节要点】 红黑树概念红黑树性质红黑树结点定义红黑树结构红黑树插入操作的分析 一、红黑树的概念与性质 1.1 红黑树的概念 红黑树 &#xff0c;是一种 二叉搜索树 &#xff0c;但 在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是 Red和 Black 。 通过对 任何…

微信小程序threejs三维开发

微信小程序threejs开发 import * as THREE from three; const { performance, document, window, HTMLCanvasElement, requestAnimationFrame, cancelAnimationFrame, core, Event, Event0 } THREE .DHTML import Stats from three/examples/jsm/libs/stats.module.js; im…

jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.

无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样&#xff0c;还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…

使用 Excel 实现绩效看板的自动化

引言 在日常工作中&#xff0c;团队的绩效监控和管理是确保项目顺利进行的重要环节。然而&#xff0c;面临着以下问题&#xff1a; ​数据分散&#xff1a;系统中的数据难以汇总&#xff0c;缺乏一个宏观的团队执行情况视图。​看板缺失&#xff1a;系统本身可能无法提供合适…

02 windows qt配置ffmpeg开发环境搭建

版本说明 首先我使用ffmpeg版本是4.2.1 QT使用版本5.14.2 我选择是c编译 在02Day.pro⾥⾯添加ffmpeg头⽂件和库⽂件路径 win32 { INCLUDEPATH $$PWD/ffmpeg-4.2.1-win32-dev/include LIBS $$PWD/ffmpeg-4.2.1-win32-dev/lib/avformat.lib \$$PWD/ffmpeg-4.2.1-win32-dev/l…

掌握市场先机:9款销售渠道管理工具深度测评

本文主要介绍了以下9款销售渠道管理工具&#xff1a;1.纷享销客&#xff1b; 2.销帮帮&#xff1b; 3.小满CRM&#xff1b; 4.有赞&#xff1b; 5.Oracle NetSuite&#xff1b; 6.Salesforce Sales Cloud&#xff1b; 7.Cin7&#xff1b; 8.Pipedrive&#xff1b; 9.BigCommerc…

C语言基础知识04

指针 指针概念 指针保存地址&#xff0c;地址是字节的编号 指针类型和保存的地址类型要一直 使用时注意&#xff0c;把地址转换为&变量的格式来看 int a[3]; a转为&a[0] 指针的大小 64bit 固定8字节&#xff0c; 32bit 固定4字节 指针…

异常(9)

大家好,今天我们来详细介绍一下异常抛出的知识,在编写程序时,如果程序中出现错误,此时就需要将错误的信息告知给调用者,话不多说,来看. 在java中,可以借助throw关键字,抛出一个指定的异常对象,将错误对象告知给调用者,具体语法如下&#xff1a; throw new xxx("异常产生…

网络安全就业形势

网络安全是一个日益增长的行业&#xff0c;对于打算进入或转行进入该领域的人来说&#xff0c;制定一个清晰且系统的职业规划非常重要。2025年&#xff0c;网络安全领域将继续发展并面临新的挑战&#xff0c;包括不断变化的技术、法规要求以及日益复杂的威胁环境。 第一部分&am…

Linux 命名管道

文章目录 &#x1f680; 深入理解命名管道&#xff08;FIFO&#xff09;及其C实现一、命名管道核心特性1.1 &#x1f9e9; 基本概念 二、&#x1f4bb; 代码实现解析2.1 &#x1f4c1; 公共头文件&#xff08;common.hpp&#xff09;2.2 &#x1f5a5;️ 服务器端&#xff08;s…

sap 内存管理与数据共享方式

SAP内存管理 内存是程序之间为了传递数据而使用的共享存储空间 SAP内存分类&#xff1a;1、SAP内存&#xff0c;2、ABAP内存 这两种内存都是针对同一登录用户实现数据共享。 SAP内存&#xff08;SAP Memory&#xff09;和ABAP内存&#xff08;ABAP Memory&#xff09;&…

python笔记2

变量&#xff1a;含义 一个容器&#xff0c;计算机当中的存储空间。 可以理解为一个用于标识或引用数据的名字或标签。 作用&#xff1a; 可以通过定义一个变量来给需要使用多次的数据命名&#xff0c;就像一个标签一样。下次需要使用这个数据时&#xff0c;只需要通过这个变…

【Linux系统编程】信号

目录 1、信号1.1、什么是信号1.2、进程对信号的处理1.3、信号的生命周期1.4、信号处理流程1.5、信号的发送 2、kill()、raise()函数 发送信号3、alarm函数 闹钟信号4、pause函数 挂起信号、暂停5、singal 函数 捕获信号5.1、为什么返回值是上一次的处理方式5.2、练习 6、sigact…

实用小工具——快速获取数据库时间写法

最近我遇到了一个比较棘手的问题&#xff1a;在工作中&#xff0c;各个项目所使用的数据库类型各不相同。这导致我习惯性地使用Oracle的SQL语句进行编写&#xff0c;但每次完成后都会遇到报错&#xff0c;最终才意识到项目的数据库并非Oracle。为了避免这种情况&#xff0c;我需…

数据类型及sizeof,进制转换

其实数据类型可以讲很多内容&#xff0c;这里看情况需要讲多久吧。 本篇基本都是理论。 目录 数据类型的分类 基本数据类型 构造数据类型 指针类型 空类型 计算数据类型或变量所占用的内存字节数 基本语法 进制转换 二进制 二进制的概念 二进制与十进制的转换 十六进…

落雪音乐Pro 8.8.6 | 内置8条音源,无需手动导入,纯净无广告

洛雪音乐Pro版内置多组稳定音源接口&#xff0c;省去手动导入的繁琐操作&#xff0c;安装即可畅听海量音乐。延续原版无广告的纯净体验&#xff0c;支持歌单推荐与音源切换&#xff0c;满足个性化听歌需求。此版本仅支持在线播放&#xff0c;无法下载音乐&#xff0c;且与原版不…

mac安装navicat及使用

0.删除旧的 sudo rm -Rf /Applications/Navicat\ Premium.app sudo rm -Rf /private/var/db/BootCaches/CB6F12B3-2C14-461E-B5A7-A8621B7FF130/app.com.prect.NavicatPremium.playlist sudo rm -Rf ~/Library/Caches/com.apple.helpd/SDMHelpData/Other/English/HelpSDMIndexF…

【Unity】 HTFramework框架(六十二)Agent编辑器通用智能体(AI Agent)

更新日期&#xff1a;2025年3月14日。 Github源码&#xff1a;[点我获取源码] Gitee源码&#xff1a;[点我获取源码] 索引 编辑器通用智能体AIAgent类Friday&#xff08;星期五&#xff09;启用智能体设置智能体类型开放智能体权限智能体交互资源优化批处理运行代码联网搜索休闲…