opencv学习之路(10)、ROI与mask掩码
一、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掩码的更多相关文章
- opencv学习之路(41)、人脸识别
一.人脸检测并采集个人图像 //take_photo.cpp #include<opencv2/opencv.hpp> using namespace cv; using namespac ...
- opencv学习之路(31)、GrabCut & FloodFill图像分割
一.GrabCut 1.利用Rect做分割 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat ...
- opencv学习之路(27)、轮廓查找与绘制(六)——外接圆、椭圆拟合、逼近多边形曲线、计算轮廓面积及长度、提取不规则轮廓
一.最小外接圆 #include "opencv2/opencv.hpp" #include<iostream> using namespace std; using ...
- opencv学习之路(21)、模板匹配及应用
一.模板匹配概念 二.单模板匹配 #include "opencv2/opencv.hpp" #include <iostream> using namespace s ...
- opencv学习之路(40)、人脸识别算法——EigenFace、FisherFace、LBPH
一.人脸识别算法之特征脸方法(Eigenface) 1.原理介绍及数据收集 特征脸方法主要是基于PCA降维实现. 详细介绍和主要思想可以参考 http://blog.csdn.net/u0100066 ...
- opencv学习之路(39)、PCA
一.PCA理论介绍 网上已经有许多介绍pca原理的博客,这里就不重复介绍了.详情可参考 http://blog.csdn.net/zhongkelee/article/details/44064401 ...
- opencv学习之路(29)、轮廓查找与绘制(八)——轮廓特征属性及应用
一.简介 HSV颜色空间(hue色调,saturation饱和度,value亮度) 二.HSV滑动条 #include "opencv2/opencv.hpp" #include ...
- opencv学习之路(30)、分水岭算法及图像修补
一.简介 二.分水岭算法 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat srcImg = ...
- opencv学习之路(26)、轮廓查找与绘制(五)——最小外接矩形
一.简介 二.轮廓最小外接矩形的绘制 #include "opencv2/opencv.hpp" using namespace cv; void main() { //轮廓最小外 ...
随机推荐
- linux申请strace ,lstrace, ptrace, dtrace
ltrace命令是用来跟踪进程调用库函数的情况. ltrace -hUsage: ltrace [option ...] [command [arg ...]]Trace library calls ...
- JMeter开发插件——图片验证码识别
我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...
- 递归n!
package sushudigui; import java.util.Scanner; public class digui { public static void main(String[] ...
- centos7上安装nodejs
1. 确保安装编译工具 $ yum -y install gcc gcc-c++ 2. 获取官网源码 : $ wget https://nodejs.org/dist/v9.9.0/node-v9.9 ...
- Java多线程-----理解CountDownLatch
CountDownLatch简介 CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHa ...
- GitHub 代码上传
方法一 登录GitHub后,点击下面的图 New responsitory 按钮 或者点击绿色按钮 New repository,新建一个新建一个远程仓库(remote repository),点击后 ...
- ::before 伪元素三角
ul::before{ content: ''; width:; height:; border: 10px solid transparent; border-bottom: 10px solid ...
- android排除报很多错方法 Execution failed for task ':app:compileDebugJavaWithJavac' in Android Studio
android排除报很多错方法1.回撤对应layout的xml改动2.回撤对应java的改动3.重命名文件后导致的资源不对应 Execution failed for task ':app:compi ...
- PHP HTML混写,PHP中把大块HTML文本直接赋值给字符串变量的方法
PHP HTML混写,PHP中把大块HTML文本直接赋值给字符串变量的方法 使用HEREDOC/NOWDOCHEREDOC和NOWDOC是PHP5.3开始支持的一种新特性,它允许在程序中使用一种自定义 ...
- [转载]Cookie与Session的区别与联系及生命周期
前几天面试问了一个问题,当时记不太清了,上网查了下发现这个问题还真的很有讲究而且很重要,自己总结下做下记录. 一.Session与Cookie介绍 这些都是基础知识,不过有必要做深入了解.先简单介绍一 ...