一、ROI

 #include<opencv2/opencv.hpp>
using namespace cv; void main(){
Mat img=imread("E://0.jpg");
Mat logo=imread("E://opencv.jpg");
Mat ROI=img(Rect(,,logo.cols,logo.rows));//x,y,w,h xy坐标,宽度,高度
//Mat ROI=img(Range(20,20+logo.rows),Range(20,20+logo.cols));//纵坐标范围,行坐标范围
logo.copyTo(ROI);//logo复制到ROI上面 imshow("img",img);
waitKey();
}

低级融合

二、mask掩码

图像高级融合

 #include<opencv2/opencv.hpp>
using namespace cv; void main(){
Mat img=imread("E://0.jpg");
Mat logo=imread("E://opencv.jpg");
Mat mask=imread("E://opencv.jpg",);//以灰度图的形式读入
bitwise_not(mask, mask);//图像取反,白色背景变黑
imshow("mask",mask);
threshold(mask, mask, , , THRESH_BINARY);//二值化,50这个取值是经过调试后选择的,若取值为100则左下角的标志会消失
imshow("threshold", mask); Mat ROI=img(Rect(,,logo.cols,logo.rows));//x,y,w,h xy坐标,宽度,高度
logo.copyTo(ROI,mask);//logo复制到ROI上面 imshow("img",img);
waitKey();
}

图像加法

 #include<opencv2/opencv.hpp>
using namespace cv; void main(){
Mat img1=imread("E://3.jpg");
Mat img2=imread("E://4.jpg");
Mat mask=Mat::zeros(img1.size(),CV_8SC1);//纯黑
circle(mask,Point(mask.cols/,mask.rows/),,Scalar(),-,);
Mat dst;
add(img1,img2,dst,mask);
imshow("result",dst);
waitKey();
}

opencv学习之路(10)、ROI与mask掩码的更多相关文章

  1. opencv学习之路(41)、人脸识别

    一.人脸检测并采集个人图像 //take_photo.cpp #include<opencv2/opencv.hpp> using namespace cv; using namespac ...

  2. opencv学习之路(31)、GrabCut & FloodFill图像分割

    一.GrabCut 1.利用Rect做分割 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat ...

  3. opencv学习之路(27)、轮廓查找与绘制(六)——外接圆、椭圆拟合、逼近多边形曲线、计算轮廓面积及长度、提取不规则轮廓

    一.最小外接圆 #include "opencv2/opencv.hpp" #include<iostream> using namespace std; using ...

  4. opencv学习之路(21)、模板匹配及应用

    一.模板匹配概念 二.单模板匹配 #include "opencv2/opencv.hpp" #include <iostream> using namespace s ...

  5. opencv学习之路(40)、人脸识别算法——EigenFace、FisherFace、LBPH

    一.人脸识别算法之特征脸方法(Eigenface) 1.原理介绍及数据收集 特征脸方法主要是基于PCA降维实现. 详细介绍和主要思想可以参考 http://blog.csdn.net/u0100066 ...

  6. opencv学习之路(39)、PCA

    一.PCA理论介绍 网上已经有许多介绍pca原理的博客,这里就不重复介绍了.详情可参考 http://blog.csdn.net/zhongkelee/article/details/44064401 ...

  7. opencv学习之路(29)、轮廓查找与绘制(八)——轮廓特征属性及应用

    一.简介 HSV颜色空间(hue色调,saturation饱和度,value亮度) 二.HSV滑动条 #include "opencv2/opencv.hpp" #include ...

  8. opencv学习之路(30)、分水岭算法及图像修补

    一.简介 二.分水岭算法 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat srcImg = ...

  9. opencv学习之路(26)、轮廓查找与绘制(五)——最小外接矩形

    一.简介 二.轮廓最小外接矩形的绘制 #include "opencv2/opencv.hpp" using namespace cv; void main() { //轮廓最小外 ...

随机推荐

  1. Selenium基础知识(九)验证码

    关于Selenium处理验证码总结下: 1.去掉验证码(这个为了测试,去掉可能性不大) 2.万能验证码(让开发给做一个万能验证码,可能性也不大) 3.OCR光学识别,python包Python-tes ...

  2. Anaconda 使用指南

    Anaconda 使用指南 参考文章: 致Python初学者:Anaconda入门使用指南 Anaconda使用总结 概述 很多学习python的初学者甚至学了有一段时间的人接触到anaconda或者 ...

  3. 002-一般处理程序(HttpHandler)

    一般处理程序(HttpHandler):是一个实现System.Web.IHttpHandler接口的特殊类.任何一个实现了IHttpHandler接口的类,是作为一个外部请求的目标程序的前提.(凡是 ...

  4. LeetCode122.买卖股票的最佳时机II

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  5. jQuery-切换事件2

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. jQuery-插入内容-新增内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 在caffe-ssd的环境搭建中遇到报错信息:Makefile:588: recipe for target '.build_release/cuda/src/caffe/layers/softmax_loss_layer.o' failed

    错误原因: 1.计算机没有安装GPU 2.有GPU但是NVCCFLAGS设置错误 解决方法: 1.对没有GPU的计算机,需要将Makefile中的CPU之前的#注释去掉,是的caffe运行的处理器进行 ...

  8. [ English ] 俚语 “Ping me=打我电话”

    有次做项目的时候跟一个美国人通过MSN讨论一个问题.突然他说了一句,“Can you ping me in 15 minutes?” Ping Me,什么意思啊? 首先我们来看看“Ping”的原意: ...

  9. ECC

    素数 prime,又称为质数,是指,除了1和它本身,没有其他因数的数. 素数的定理: 1)在一个大于1的数a和它的2倍之间必定存在至少一个素数: 素数的性质: 1)在所有的大于10的质数中,个位数,只 ...

  10. 十二 总结JS原型

    基本概念: 对象:属性和方法的集合(变量和函数的封装). 构造器函数:用于创建对象的函数,通过new关键字生成对象.函数名一般首字母大写的. 原型对象:每个函数都有一个prototype属性,它是一个 ...