【拜小白opencv】15-利用ROI将一幅图像叠加到另一幅图像的指定位置
常言道“温故而知新”,写此文章就是对自己目前学习内容的小小的总结与记录。
本文力求用最简洁的语言,详细的代码将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有些瑕疵,还望读者能够指教探讨,大家共同进步。
博主机器配置为:VS2013+opencv2.4.13+Win-64bit。
若本文能给读者带来一点点启示与帮助,我就很开心了。
===========================分割线========================
如何利用ROI获取图像,请看【拜小白opencv】8-感兴趣区域ROI图像获取操作
本节将利用ROI将一幅图像叠加到另一幅图像的指定位置。
具体过程见下面代码
=======================分割线========================
代码演示
/*利用ROI将一幅图像叠加到另一幅图像的指定位置
*/#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;int main()
{//【1】读入两幅图像并检查图像是否读取成功 Mat srcImage = imread("D:\\OutPutResult\\ImageTest\\dog1.jpg");Mat signal = imread("D:\\OutPutResult\\ImageTest\\signal.jpg");if (!srcImage.data || !signal.data){cout << "读取图像有误,请重新输入正确路径!\n";return false;}imshow("【萌宠】", srcImage);imshow("【信号】", signal);//【2】定义一个Mat类型并给其设定ROI区域Mat imageROI = srcImage(Rect(450, 20, signal.cols, signal.rows)); //450,20为自定义起始点坐标//【3】加载掩模(必须是灰度图)Mat mask = imread("D:\\OutPutResult\\ImageTest\\signal.jpg", 0); //参数0显示为灰度图//【4】将掩模复制到ROIsignal.copyTo(imageROI, mask);//【5】显示结果namedWindow("利用ROI实现图像叠加");imshow("利用ROI实现图像叠加", srcImage);waitKey(0);return 0;
}
==========================分割线============================
显示结果
程序说明
signal.copyTo(imageROI, mask);
括号里,第一个参数表示为输出图像,第二参数表示为掩码(or掩模)。
srcImage.copyto(dstImage, mask)
,mask作为一个掩模板。
【拜小白opencv】15-利用ROI将一幅图像叠加到另一幅图像的指定位置相关推荐
- 【拜小白opencv】14-只去除RGB的某一颜色通道
常言道"温故而知新",写此文章就是对自己目前学习内容的小小的总结与记录. 本文力求用最简洁的语言,详细的代码将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有 ...
- 利用python调用本地摄像头拍照,对图片命名并保存到指定位置,带界面
1.需求: 因项目需要做一个以图搜图的小程序,需要储备零件图库,约1000种 2.原计划&痛点 原本想通过手机挨个拍照,再拷贝出来,重命名,这样会耽误大量时间,且容易出错 3.解决方案 于是做 ...
- 【拜小白opencv】45-二维H-S直方图绘制----calcHist()函数、minMaxLoc()函数
常言道"温故而知新",写此文章就是对自己目前学习内容的小小的总结与记录. 本文力求用最简洁的语言,详细的代码将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有 ...
- 转载:【OpenCV入门教程之四】 ROI区域图像叠加初级图像混合 全剖析
[OpenCV入门教程之四] ROI区域图像叠加&初级图像混合 全剖析 浅墨_毛星云 2014-03-10 12:48:05 157425 收藏 19 最后发布:2014-03-10 12:4 ...
- 转自:拜小白教你OpenCV3.2.0+VS2017开发环境配置
拜小白教你OpenCV3.2.0+VS2017开发环境配置 本文转载自<拜小白教你OpenCV3.2.0+VS2017开发环境配置>.转载链接. https://blog.csdn.net ...
- Opencv中的ROI介绍
Opencv中的ROI介绍 (2013-03-27 13:36:26) 转载▼ 分类: 模式识别 ROI(Region of Interest)是指图像中的一个矩形区域,可能你后续 ...
- 【opencv学习笔记】第五篇:访问图像中像素的三种方式、ROI区域图像叠加和图像混合
1. 访问图像中像素的三种方式 任何图像处理算法,都是从操作每个像素开始的.在OpenCV中,提供了三种访问每个像素的方法. 方法1:指针访问:C操作符[] 方法2:迭代器iterator 方法3:动 ...
- opencv 手选roi区域_【OpenCV】选择ROI区域
问题描述:在测试目标跟踪算法时,需要选择不同区域作为目标,进行目标跟踪,测试目标跟踪的效果. 解决思路: 1.OpenCV中提供了鼠标交互控制,利用setMouseCallback()给固定的窗口设置 ...
- 小白opencv的入门处理技巧
小白opencv的入门处理技巧 在这里插入代码片@TOC** 在这里插入代码片 import cv2 import numpy as np #i=cv2.imread("D:\\TP\\MT ...
- Opencv之利用matchshape算子实现简单的形状匹配
Opencv之利用matchshape算子实现简单的形状匹配 算子: matchShapes( InputArray contour1, InputArray contour2, int method ...
最新文章
- mysql进程内存不足_故障排除指南:MySQL的运行内存不足怎么办?
- 谈谈Javascript闭包
- 指针变量p与“零值”进行比较的if 语句怎么写?
- C/C++隐式类型转换导致的若干问题
- [Python人工智能] 三.theano实现分类神经网络及机器学习基础
- activity 防止多次打开_Android开发Activity任务和返回栈
- java 变量序列化_Java序列化与静态变量
- 分别采用深度优先遍历和广度优先遍历判断是否存在由vi到vj的路径,图用邻接表存储
- 向日葵,teamviewer
- 在 Linux 中配置 tftpboot 服务器的 10 个步骤
- 1000句英语经典口语(9)
- tf.convert_to_tensor
- 1-2 二十四点 (20 分)【Csp认证真题】
- 递归解九连环并且打印中间过程
- CocoStudio UI 编辑器的使用
- Catalan数的分析和应用
- Dump分析学习指令整理
- numpy.sum中axis参数用法解析
- 资料随意收集(1):Lotus Notes常见问题解决办法(实用--转帖)
- C++中auto关键字编译错误解决