罗湖网站设计价格,网站开发西安,移动互联网网站建设,仿腾讯视频网站【1】引言
前序学习进程中#xff0c;学习了图像互相叠加的不同操作方法#xff0c;包括add()函数直接叠加BGR值和使用bitwise()函数对BGR值进行按位计算叠加等#xff0c;相关文章链接包括且不限于#xff1a;
python学opencv|读取图像#xff08;四十二#xff09;使…【1】引言
前序学习进程中学习了图像互相叠加的不同操作方法包括add()函数直接叠加BGR值和使用bitwise()函数对BGR值进行按位计算叠加等相关文章链接包括且不限于
python学opencv|读取图像四十二使用cv2.add()函数实现多图像叠加-CSDN博客
python学opencv|读取图像四十九使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客
实际上有时候的需求不一定是两张图像完整叠加而可能是更偏向某一张图像这就需要调用addWeighted()函数实现图像加权叠加效果。
【2】官网教程
点击下方链接直达官网对addWeighted()函数的说明网页
OpenCV: Operations on arrays
官网页面为 图1 addWeighted()函数的说明网页
官网也给出了addWeighted()函数的参数说明 void cv::addWeighted ( InputArray src1, #输入图像1 double alpha, #图像1权重 InputArray src2, #输入图像2 double beta, #图像2权重 double gamma, #权重的综合叠加量 OutputArray dst, #输出图像 int dtype -1 ) #输出图像的深度为默认值暂无需关注 【3】代码测试
首先引入相关模块和初始图像
import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
srcx cv.imread(srcx.png) #读取图像srcx.png
srcp cv.imread(srcp.png) #读取图像srcp.png
rows,cols,canssrcx.shape #读取图像属性
srcpcv.resize(srcp,(rows,cols), interpolationcv.INTER_CUBIC) #统一图像大小
然后对图像进行加权叠加
#调用cv2.addWeighted()函数进行加权叠加
srccv.addWeighted(srcx,0.6,srcp,0.2,0.5) #调用cv2.addWeighted()函数进行加权叠加之后在屏幕显示和保存图像
#显示和保存图像
cv.imshow(src,src) #显示图像
cv.imshow(srcx,srcx) #显示图像
cv.imshow(srcp,srcp) #显示图像
cv.imwrite(src.png,src) #保存图像
cv.waitKey() # 图像不关闭
cv.destroyAllWindows() # 释放所有窗口
代码使用的初始图像分别为 图2 第一张图像srcx.png 图3 第二张图像srcp.png 图4 加权叠加的图像src.png
由图2至图4可见经过加权叠加后两张图像熔合在一起。
此时的完整代码为
import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
srcx cv.imread(srcx.png) #读取图像srcx.png
srcp cv.imread(srcp.png) #读取图像srcp.png
rows,cols,canssrcx.shape #读取图像属性
srcpcv.resize(srcp,(rows,cols), interpolationcv.INTER_CUBIC) #统一图像大小#调用cv2.addWeighted()函数进行加权叠加
srccv.addWeighted(srcx,0.6,srcp,0.2,0.5) #调用cv2.addWeighted()函数进行加权叠加#显示和保存图像
cv.imshow(src,src) #显示图像
cv.imshow(srcx,srcx) #显示图像
cv.imshow(srcp,srcp) #显示图像
cv.imwrite(src.png,src) #保存图像
cv.waitKey() # 图像不关闭
cv.destroyAllWindows() # 释放所有窗口
【4】代码修改
进一步修改代码交换权重调高最后的综合叠加量
srccv.addWeighted(srcx,0.2,srcp,0.6,3) #调用cv2.addWeighted()函数进行加权叠加此时获得的叠加效果为 图5 加权叠加的图像src.png
显然不同的权重会改百年图像混合的主体增大最后的综合叠加量图像会变亮。
【5】细节说明
代码中调用了图像尺寸修改函数相关函数的说明在之前也介绍过可以点击链接回忆
python学opencv|读取图像三放大和缩小图像_py opencv图像缩放-CSDN博客
【6】总结
掌握了使用pythonopencv调用addWeighted()函数实现图像加权叠加效果的技巧。