最近在随浅墨的博客学习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_

本文介绍如何使用OpenCV实现图像叠加,通过两种方法详细解释代码和原理,并结合MATLAB进行学习。内容包括ROI选择、copyTo函数、addWeighted函数的使用,以及如何实现背景透明化。
&spm=1001.2101.3001.5002&articleId=40735821&d=1&t=3&u=c6a62ac6c8c947fcbb959849a4d32aa7)
8278

被折叠的 条评论
为什么被折叠?



