当前位置: 首页 > news >正文

大千科技网站建设百度营销搜索推广

大千科技网站建设,百度营销搜索推广,网站建设有哪些企业,重庆知名网站【Python/Opencv】图像权重加法函数:cv2.addWeighted()详解 文章目录【Python/Opencv】图像权重加法函数:cv2.addWeighted()详解1. 介绍2. API3. 代码示例与效果3.1 代码3.2 效果4. 参考1. 介绍 在OpenCV图像加法cv2.add函数详解详细介绍了图像的加法运…

【Python/Opencv】图像权重加法函数:cv2.addWeighted()详解

文章目录

  • 【Python/Opencv】图像权重加法函数:cv2.addWeighted()详解
    • 1. 介绍
    • 2. API
    • 3. 代码示例与效果
      • 3.1 代码
      • 3.2 效果
    • 4. 参考

1. 介绍

在OpenCV图像加法cv2.add函数详解详细介绍了图像的加法运算。

除了这种加法外,OpenCV还提供了带权重的加法,即两副图像的像素通道值相加时各自按一定的权重比例取值来相加。

假设有2个图像矩阵src1和src2,在两个图像融合时,各自的权重分别为alpha和beta,则二者融合后的目标图像dst中各像素通道值的计算公式为:

dst(I)=saturate(src1(I)∗alpha+src2(I)∗beta+gamma)

上述公式中两副图像的权重alpha和beta取值没有强制要求,但一般情况建议alpha+beta=1。实际上alpha、beta和src1、src2相乘就是调整的src1、src2对应图像的明暗度,因此图像融合权重加法实际上是先各自调整两副图像的明暗度之后再相加。

2. API

import cv2
out = cv2.addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
  • 参数说明:
    • src1, src2:需要融合相加的两副大小和通道数相等的图像
    • alpha:src1的权重
    • beta:src2的权重
    • gamma:gamma修正系数,不需要修正设置为0,具体请参考《图像处理gamma修正(伽马γ校正)的原理和实现算法》
    • dst:可选参数,输出结果保存的变量,默认值为None,如果为非None,输出图像保存到dst对应实参中,其大小和通道数与输入图像相同,图像的深度(即图像像素的位数)由dtype参数或输入图像确认
    • dtype:可选参数,输出图像数组的深度,即图像单个像素值的位数(如RGB用三个字节表示,则为24位),选默认值None表示与源图像保持一致。
  • 返回值:
    • out:融合相加的结果图像

3. 代码示例与效果

addWeighted只能实现两副相同大小的图像融合相加,可能我们更需要的是一副小图像和一副大图像的融合相加。在本案例中就实现这样一个函数:

def addWeightedSmallImgToLargeImg(largeImg, alpha, smallImg, beta, gamma=0.0, regionTopLeftPos=(0,0)):srcW, srcH = largeImg.shape[1::-1]refW, refH = smallImg.shape[1::-1]x,y =  regionTopLeftPosif (refW>srcW) or (refH>srcH):#raise ValueError("img2's size must less than or equal to img1")raise ValueError(f"img2's size {smallImg.shape[1::-1]} must less than or equal to img1's size {largeImg.shape[1::-1]}")else:if (x+refW)>srcW:x = srcW-refWif (y+refH)>srcH:y = srcH-refHdestImg = np.array(largeImg)tmpSrcImg = destImg[y:y+refH,x:x+refW]tmpImg = cv2.addWeighted(tmpSrcImg, alpha, smallImg, beta,gamma)destImg[y:y + refH, x:x + refW] = tmpImgreturn destImg

该函数的前5个参数与addWeighted对应,但多了个regionTopLeftPos参数,用于指定小图像左上角放置到大图像的具体位置,缺省为大图像的左上角。

下面使用addWeightedSmallImgToLargeImg来实现一个两副图像融合的案例。

  • 案例中使用的大图像如下:大小(550,620)
    在这里插入图片描述

  • 案例中使用的小图像如下:大小(300,400)
    在这里插入图片描述

3.1 代码

import numpy as np
import cv2img1 = cv2.imread(r'a.jpg')
img2 = cv2.imread(r'b.jpg')
img = addWeightedSmallImgToLargeImg(img1, 1, img2, 0.6,regionTopLeftPos=(100, 100))
cv2.imwrite('result.jpg', img)

3.2 效果

在这里插入图片描述

4. 参考

【1】https://blog.csdn.net/LaoYuanPython/article/details/109143281

http://www.ds6.com.cn/news/81565.html

相关文章:

  • 上海网站设计流程便民信息微信平台推广
  • 有没有什么推荐的网站国内最好用免费建站系统
  • 销售外包团队手机优化
  • 社交网站开发意义企业管理培训课程网课免费
  • 找黄岩做网站企业今日资讯最新消息
  • 有产品做推广 选哪个 网站房产网站建设
  • 湖南做网站 地址磐石网络站长之家最新网站
  • 企业网络管理 网站开发与运营链接生成器在线制作
  • 怎样给网站做 站内搜索江西省水文监测中心
  • 网站开发费用鉴定百度文库官网登录入口
  • 佛山网络优化推广公司天津seo培训机构
  • 网站维护服务百度竞价排名推广
  • 可以用css3做响应式网站吗软文推广平台排名
  • 上海商城网站建设网站平台有哪些
  • 有什么网上做c 的网站百度app下载最新版
  • 首先确定网站建设的功能定位整站优化代理
  • 政务网站建设工作计划结尾海外域名
  • 绍兴网站建设公司今日新闻摘抄十条
  • 男女一夜做受视频最新网站seo站长网
  • 网站开发网站制作网站营销方案模板
  • 响应式网站方案站长之家域名查询排行
  • nas搭建网站专业网站推广软件
  • 平度推广网站建设seo网络推广员招聘
  • ASP网站开发技术期末考试凡科建站客服电话
  • 天蝎网站建设seo关键词排名点击工具
  • 找网络公司做网站传媒公司
  • 网站免费域名申请有哪些网络推广平台
  • 山东企业网站备案沧州网站建设公司
  • 成品短视频app的优势抖音seo什么意思
  • 中山电商网站制作站长工具怎么关掉