Opencv--addWeighted()

 2023-09-07 阅读 25 评论 0

摘要:关于图像融合的线性方法即使用addweighted函数进行图像融合,其核心是ROI感兴趣区域的定义,ROI区域在opencv中就是矩形区域(RECT) 先创建Rect区域,再给予ROI一些基本性质,形成图像掩膜。 ROI即为目标图像中的你想要叠加图像的区域,其基本性

关于图像融合的线性方法即使用addweighted函数进行图像融合,其核心是ROI感兴趣区域的定义,ROI区域在opencv中就是矩形区域(RECT)

先创建Rect区域,再给予ROI一些基本性质,形成图像掩膜。

ROI即为目标图像中的你想要叠加图像的区域,其基本性质即该区域的位置和范围。

一丶创建ROI:

  1. Mat roi;
  2. roi = image(RECT(500, 250, logo.clos, logo.rows));//在这里相当于用指针的知识将roi区域指向为image图像相应区域
  3. //500和250代表了ROI区域的左上角的坐标,后面为ROI区域范围

opencv函数手册、其实roi区域就相当于一个mat 对象的信息头储存的地址是roi区域的地址,详见后面的博客。


二丶构建ROI区域掩膜(图像叠加的基础)
Mat ROI = image(Rect(200, 250, logo.cols, logo.rows));
Mat mask = imread("logo.jpg", 0);//掩膜必须为叠加图片的灰度图
logo.copyTo(ROI, mask);


三丶两图片的线性混合

线性混合就是指两个图片或两段视频以某种函数关系叠加呈现。

                                                          

addWeighted原函数:

opencv circle函数。void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype = -1);

第一个参数:要叠加的第一个图像Mat

第二个参数:标识第一个参数叠加的权重

第三个参数:表示第二个叠加的图像,他需要和第一个数组拥有同样的尺寸和通道数

第四个参数:表示第二个叠加图像的权重

第五个参数:输出参数,需要和前两个图像拥有同样的通道数和尺寸

opencv获取像素点的像素值、第六个参数:一个加到权重总和上的标量值(填0就好)

第七个参数:输出阵列的深度有默认值-1, 当两张叠加图片深度相同时,参数为-1

对应表达式为:dst = src1[i] * alpha + src2[i] * beta + gamma;//两张图片每个通道对应数值之和。

  1. 读取图像
  2. Mat srcImage4= imread("dota_pa.jpg",1);
  3. Mat logoImage= imread("dota_logo.jpg");
  4. if(!srcImage4.data ) { printf("你妹,读取srcImage4错误~! \n"); return false; }
  5. if(!logoImage.data ) { printf("你妹,读取logoImage错误~! \n"); return false; }
  6. //【2】定义一个Mat类型并给其设定ROI区域
  7. Mat imageROI;
  8. //方法一
  9. imageROI=srcImage4(Rect(200,250,logoImage.cols,logoImage.rows));
  10. //【3】将logo加到原图上 ,利用线性混合构建掩膜,其中logo权重是0.3,原图中的ROI区域图像是0.5
  11. addWeighted(imageROI,0.5,logoImage,0.3,0.,imageROI);
  12. //【4】显示结果
  13. namedWindow("<4>区域线性图像混合示例窗口 by浅墨");
  14. imshow("<4>区域线性图像混合示例窗口 by浅墨",srcImage4);

转载自:https://blog.csdn.net/qq_35859033/article/details/77165157

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/13888.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息