利用ROI(感兴趣区域)可以实现图像的叠加,笔者将小丑图像叠加到证件照头部,非常有意思!!!源代码如下

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
Mat src1 = imread("1.jpg");                            //源文件下放一证件照
Mat src2 = imread("2.jpg");//源文件下放一小丑图
if (!src1.data)
cout << "图片1读取失败" << endl;
if (!src2.data)
cout << "图片2读取失败" << endl;

Mat ROI = src1(Rect(95,50, src2.cols, src2.rows));   //设置ROI(感兴趣区域,这里选择证件照的头部)
Mat mask = imread("2.jpg",0);
src2.copyTo(ROI, mask);
imshow("ROI图片叠加", src1);                         //显示图片
waitKey(0);
return 0;

}

转载自:https://blog.csdn.net/qq_27389855/article/details/51706488

Opencv--Mat类型ROI的设置相关推荐

  1. 利用指针访问opencv Mat类型的矩阵,以及求椭圆方程的函数

    1. 能利用数组初始化Mat类型矩阵吗? 2.为什么要用数组初始化Mat矩阵,以及什么情况下使用,使用数组初始化Mat矩阵的条件是什么? 3.怎么利用指针访问Mat矩阵,是怎么进行的? 答:是为了使用 ...

  2. OpenCV Mat 类型定义和赋值

    1.一般的Mat定义方法:cv::Mat M(height,width,<Type>),例: cv::Mat M(480,640,CV_8UC3); 表示定义了一个480行640列的矩阵, ...

  3. opencv的mat赋值_OpenCV Mat 类型定义和赋值

    1.一般的Mat定义方法:cv::Mat M(height,width,),例: cv::Mat M(480,640,CV_8UC3); 表示定义了一个480行640列的矩阵,矩阵的每个单元的由三个( ...

  4. Dlib学习笔记:解决dlib array2d转 OpenCV Mat时颜色失真

    Dlib学习笔记:解决dlib array2d转 OpenCV Mat时颜色失真 [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/deta ...

  5. opencv mat用数组初始化_10、OpenCV中图像和Mat类型(一)

    Mat类型可以被认为是OpenCV库的核心. OpenCV库中绝大多数的函数都是Mat类的成员,以Mat作为参数,或者Mat作为返回值. Mat类用于表示任意维数的密集数组.即使对于数组中的该条目为零 ...

  6. OpenCV的Mat类型以及基本函数使用

    OpenCV的Mat类型以及基本函数使用 Mat和IplImage的区别 Mat和IplImage的主要区别 在OpenCV中IplImage是表示一个图像的结构体,也是从OpenCV1.0到目前最为 ...

  7. OpenCV基础类型4--cv::Mat详解

    cv::Mat是OpenCV定义的用于表示任意维度的稠密数组,OpenCV使用它来存储和传递图像,理解它对我们操作图像是有帮助的,本文将介绍cv::Mat的初始化方式.内置方法等. 元素类型定义 由于 ...

  8. OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...

    OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下: 每一行的每一列 ...

  9. MFC+OPENCV+显示MAT类型图像

    MFC显示图像到界面,可以用链接中的DrawMatToPic,有时会出现IplImage*类型转换问题,因为用opencv做后续图像处理,所以统一使用Mat类型,可以showMat()函数进行显示.在 ...

最新文章

  1. Android:安卓布局分类及布局和页面的关系
  2. 揭开知识库问答KB-QA的面纱4·向量建模篇
  3. iOS之深入解析AFNetworking的底层原理
  4. php点击按钮变文字,点击按钮文字变成input框,点击保存变成文字的实现
  5. jquery.form.js插件中ajaxSubmit提交在jquery1.4版本中的应用
  6. vfp赋值超过7位出错_JDK1.7下的HashMap的源码分析
  7. 数据结构 - 单调栈、单调队列
  8. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
  9. linux用户及权限操作
  10. KAWAI 钢琴编号、年代、型号表
  11. shell读取文件的每一行
  12. Slardar Sql Mapper Framework for Java( Java 持久层框架一枚~)
  13. python连接mysql数据库简单例子
  14. Tensorflow教程2:使用卷积神经网络的图像分类器
  15. Java 字符串和时间互相转化 +时间戳
  16. iOS自动解锁的实现
  17. pop3接收网易163邮件及下载超大附件
  18. 「笔耕不辍」zookeeper的节点加密方式及分布式锁实现过程
  19. 云计算day12-Kubernetes_K8s
  20. 【C语言】街区最短路径问题解题思路

热门文章

  1. Nginx stream模块初探
  2. C#中使用ajax请求
  3. 解决 Windows 端口被占用问题
  4. 安装Cloudreve 新版V3(go版本)
  5. Upload-Labs(16)
  6. 通用职责分配软件原则之1-信息专家原则
  7. cve-2022-22965是什么,一个至少超越我此刻理解力的漏洞
  8. 利用 assistant_如何使用Dialogflow对Google Assistant操作实施本地履行
  9. 错过了面试,公司招满人了_您可能错过了Google令人赞叹的AI公告。
  10. obs听到了自己的回音_小说:她跟着婆婆一路走,自己却碰上鬼遮眼,而这次救她的还是他...