Python-OpenCV 图像叠加加权实现
函数说明
cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) → dst
- 1
参数说明
- src1 – first input array.
- alpha – weight of the first array elements.
- src2 – second input array of the
same size and channelnumber assrc1. - beta – weight of the second array elements.
- dst – output array that has the
same size and number of channelsas the input arrays. - gamma – scalar added to each sum.
- dtype – optional depth of the output array; when both input arrays have the same depth,
dtypecan be set to-1, which will be equivalent tosrc1.depth().
此函数可以用一下矩阵表达式来代替:
dst = src1 * alpha + src2 * beta + gamma;
注意:由参数说明可以看出,被叠加的两幅图像必须是尺寸相同、类型相同的;并且,当输出图像array的深度为CV_32S时,这个函数就不适用了,这时候就会内存溢出或者算出的结果压根不对。
CV_32S is a signed 32bit integer value for each pixel
python代码实现:
# coding=utf-8 import cv2 # 底板图案
bottom_pic = 'girl1.jpg'
# 上层图案
top_pic = 'girl2.jpg' bottom = cv2.imread(bottom_pic)
top = cv2.imread(top_pic) h, w, _ = bottom.shape img2 = cv2.resize(top, (w,h), interpolation=cv2.INTER_AREA) #alpha,beta,gamma可调
alpha = 0.7
beta = 1-alpha
gamma = 0 # 权重越大,透明度越低
overlapping = cv2.addWeighted(bottom, alpha, img2, beta, gamma)
#cv2.addWeighted(bottom, 0.5, img2, 0.5, 0)
#overlapping = cv2.addWeighted(bottom,0.8,top,0.2,0)
# 保存叠加后的图片
cv2.imwrite('overlap(8:2).jpg', overlapping) cv2.namedWindow('newImage')
cv2.imshow('newImage',overlapping)
cv2.waitKey()
cv2.destroyAllWindows()
Python-OpenCV 图像叠加加权实现的更多相关文章
- Opencv 图像叠加 添加水印
Opencv 图像叠加 添加水印 C++: void Mat::copyTo(OutputArray m) const C++: void Mat::copyTo(OutputArray m, Inp ...
- Python OpenCV 图像相识度对比
强大的openCV能做什么我就不啰嗦,你能想到的一切图像+视频处理. 这里,我们说说openCV的图像相似度对比, 嗯,说好听一点那叫图像识别,但严格讲, 图像识别是在一个图片中进行类聚处理,比如图片 ...
- 基于Python & Opencv 图像-视频-处理算法
Alg1:图像数据格式之间相互转换.png to .jpg(其他的请举一反三) import cv2 import glob def png2jpg(): images = glob.glob('*. ...
- python+opencv 图像预处理
一 python 生成随机字符串序列+ 写入到图片上 from PIL import Image,ImageDraw,ImageFont import numpy as np import rando ...
- python Opencv图像基础操作
读取并显示图像 如果读取图像首先要导入OpenCV包,方法为: import cv2 读取并显示图像 img = cv2.imread("C:\test1.jpg") OpenCV ...
- Python中图像的缩放 resize()函数的应用
cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst 参数说明: src - 原图 dst - 目标图像.当参数ds ...
- opencv 3 core组件进阶(2 ROI区域图像叠加&图像混合;分离颜色通道、多通道图像混合;图像对比度,亮度值调整)
ROI区域图像叠加&图像混合 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp&g ...
- OpenCV学习:实现简单的图像叠加
本实例使用简单的线性叠加方法来实现两幅图像的叠加,主要使用的知识如下: 1)线性融合 2)addWeighted函数 //! computes weighted sum of two arrays ( ...
- [OpenCV] 4、图像叠加 addWeighted
>_<" 这次主要是图像叠加的基本操作: >_<" cv::addWeighted(imageROI, 1.0, logo, 0.6, 0, imageRO ...
随机推荐
- 进程哪一个cpu
问题:我有个 Linux 进程运行在多核处理器系统上.怎样才能找出哪个 CPU 内核正在运行该进程? 当你在 多核 NUMA 处理器上运行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的程 ...
- 通过该源码修改vim颜色和pudb调试器的代码颜色的方法
2019-02-19,18点20vim调整颜色vim ~/.vimrc 这个pudb的配色用上的方法改不了.调试状态时候按o和回车能切换console和调试界面. 成功了.通过修改pudb源代码来实现 ...
- N2N windows下编译安装文件
n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...
- EmWin 字体相关函数
学习笔记:----------------------------------------------------------- 1:const GUI_FONT * GUI_GetFont(void ...
- 可拖动div
客户要求,页面有图片并且可以随意拖动 具体实现: css: #div1{ width: 30px; height: 30px; /*一定要绝对定位*/ position: absolute; /*初始 ...
- Mybatis批量更新比较
https://blog.csdn.net/lu1024188315/article/details/78758943
- arduino 引脚作为输入时的不稳定 解决方案
问题描述: arduino引脚作为输入状态时,高低电平不稳定 出现的原因: arduino 引脚为输入时,引脚电平处于悬空状态,容易受外部电荷信号等干扰 解决的方案: 再程序配置为输入状态后 使用下拉 ...
- 2019.03.09 codeforces620E. New Year Tree(线段树+状态压缩)
传送门 题意:给一棵带颜色的树,可以给子树染色或者问子树里有几种不同的颜色,颜色值不超过606060. 思路:颜色值很小,因此状压一个区间里的颜色用线段树取并集即可. 代码: #include< ...
- (PMP)第2章-----项目运行环境
1.事业环境因素:(客观存在,可能有帮助或阻碍,项目经理必须遵守) 内部:文化,结构,治理:设施和资源的地理分布,基础设施,信息技术软件,资源可用性,员工能力 外部:市场条件,社会和文化,法律限制,商 ...
- javascript_01