关于opencv 图像掩膜操作srcImage.copyto(dstImage, mask)说明

原创 2016年08月31日 16:28:14

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <iostream>
using namespace std;
using namespace cv;


bool ROI_AddImage()
{
	Mat srcImage=imread("4.jpg");
	Mat logoImage = imread("1.png");
	Mat imgROI = srcImage(Rect(200,250,logoImage.cols,logoImage.rows));
	Mat mask = imread("1.png",0);
	logoImage.copyTo(imgROI,mask);
	namedWindow("1");
	imshow("1",srcImage);
	return true;
}
int main()
{
	
	ROI_AddImage();
	waitKey(0);
}

对于函数srcImage.copyto(dstImage, mask),mask作为一个掩模板,如果在某个像素点(i, j)其值为1(只看第一通道,所以mask单通道即可)则把srcImage.at(i, j)处的值直接赋给dstImage.at(i, j),如果其值为0则dstImage.at(i, j)处保留其原始像素值。

下面我给大家附上书籍opencv3上的测试代码:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

opencv2学习笔记5-操作图像(掩模拷贝ROI-不一样大小的图像相加)

假设我们想合并两个不一样大小的图像,由于cv::add要求输入的两个图像具有相同的尺寸,所以不能直接使用,需要在使用之前定义感兴趣区域。只要较大图像的感兴趣区域等于较小图像的大小,add就可以正常工作...

OpenCV中掩膜操作(mask)实例

#include #include #include using namespace cv; using namespace std; void Sharpen(const Mat& myI...

【浅墨著作】《OpenCV3编程入门》内容简介&勘误&配套源代码下载

经过近一年的沉淀和总结,《OpenCV3编程入门》一书终于和大家见面了。最近有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的目录,方便大家更好的了解这本书的内容。其实最近浅墨实在是有些忙...

Opencv 利用分割的图像掩膜来完善检测前景

在目标检测中,经常会出现目标断开、不连续或空洞的情况,针对该钟情况,我们总是要想各种方法去填补空洞,使断开的部分连接起来。下面介绍一个函数来实现该功能: void cvRefineForegro...

图像处理中掩膜(mask)的意义

刚开始涉及到图像处理的时候,在opencv等库中总会看到mask这么一个参数,非常的不理解,在查询一系列资料之后,写下它们,以供翻阅。 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制...

【OpenCV入门教程之十六】OpenCV角点检测之Harris角点检测

本篇文章中,我们一起探讨了OpenCV中Harris角点检测相关的知识点,学习了OpenCV中实现Harris角点检测的cornerHarris函数的使用方法。此博文一共有两个配套的麻雀虽小但五脏俱全...

OpenCV通过MASK来实现抠图

// masktest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include "opencv2/imgproc/imgproc....
  • qiek
  • qiek
  • 2016-04-02 22:23
  • 5734

【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析

这篇文章中,我们将详细而深入地弄懂入门OpenCV2最基本的问题,那就图像的载入,显示和输出。PS:在文章末尾提供了博文配套程序原代码的下载。 依然是先看一张运行截图: 了解过之前老版本OpenCV的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)