【OpenCV学习】【一】关于图像叠加以及原理解释(结合MATLAB)

本文介绍如何使用OpenCV实现图像叠加,通过两种方法详细解释代码和原理,并结合MATLAB进行学习。内容包括ROI选择、copyTo函数、addWeighted函数的使用,以及如何实现背景透明化。
摘要由CSDN通过智能技术生成

            最近在随浅墨的博客学习OpenCV,受益匪浅,这系列博客记录OpenCV的学习历程,也对自己的学习做一个笔记。

首先感谢浅墨的OpenCV学习系列教程,帮助很大,在此添加浅墨文章的链接。

【OpenCV入门教程之一】

以下结合教程写出关于使用OpenCV实现图像叠加的代码以及一些原理解释,同时结合MATLAB进行学习。

图像的叠加:

由浅入深一步一步学习,首先实现图像叠加,这里添出background图(大图),logo图(小图),实现logo嵌入background任意感兴趣部分,这里有两种方法,先把两种方法的代码添出,再做进一步讨论。先添图片,background和logo。

background:


logo:


方法一:

//---------------------------------------------------------------------------
// 【程序说明】
//	实现功能:图像叠加
//	重要函数:imread,imshow,namedWindow(可参考浅墨文章)
//			  Rect,Range,copyTo,addWeighted(参考文章分解)
//---------------------------------------------------------------------------
 
#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>

using namespace cv; 

int main( )
{	
	Mat background= imread("dota2.jpg");  
	Mat logo= imread("logo.jpg");  
   
	//载入后先显示  
	namedWindow("background");  
	imshow("background",background);  
  
	namedWindow("logo");  
	imshow("logo",logo);  
	
	Mat imageROI_1;
	//ROI图像与原始图像共享数据
	imageROI_1=background(Rect(200,10,logo.cols,logo.rows));

	namedWindow("imageROI_1");
	imshow(
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值