通道的分离与合并

    class Program
{
static void Main(String[] args)
{
Mat img = CvInvoke.Imread(@"C:\Users\dell\Pictures\mach.jpg");
Mat pic = new Mat();
int ch=img.NumberOfChannels; VectorOfMat dst = new VectorOfMat(ch);
CvInvoke.Split(img,dst);
CvInvoke.Imshow("hello", img);
Mat blue = dst[];
Mat green = dst[];
Mat red = dst[]; CvInvoke.Threshold(blue, blue, , , ThresholdType.Binary);
CvInvoke.Threshold(green, green, , , ThresholdType.Binary);
CvInvoke.Threshold(red, red, , , ThresholdType.Binary);
CvInvoke.Merge(dst, pic); CvInvoke.Imshow("b", blue);
CvInvoke.Imshow("g", green);
CvInvoke.Imshow("r", red); CvInvoke.Imshow("m", pic);
CvInvoke.WaitKey();
} }

效果如下:

ROI

    class Program
{
static void Main(String[] args)
{
Mat img = CvInvoke.Imread(@"C:\Users\dell\Pictures\mach.jpg");
Mat logo = CvInvoke.Imread(@"C:\Users\dell\Pictures\opencv.jpg");
Mat ROI = new Mat(img, new Rectangle(, , logo.Cols, logo.Rows));
logo.CopyTo(ROI);
CvInvoke.Imshow("roi", img);
CvInvoke.WaitKey();
} }

MASK掩码

        static void Main(String[] args)
{
Mat img = CvInvoke.Imread(@"C:\Users\dell\Pictures\mach.jpg");
Mat logo = CvInvoke.Imread(@"C:\Users\dell\Pictures\opencv.jpg");
Mat mask = CvInvoke.Imread(@"C:\Users\dell\Pictures\opencv.jpg", );
CvInvoke.BitwiseNot(mask, mask);//图像取反,白色变黑色
CvInvoke.Imshow("mask", mask);
CvInvoke.Threshold(mask, mask, , , ThresholdType.Binary);
CvInvoke.Imshow("threshold", mask);
Mat roi = new Mat(img, new Rectangle(, , logo.Cols, logo.Rows));
logo.CopyTo(roi, mask);
CvInvoke.Imshow("img", img);
CvInvoke.WaitKey();
}

通道的分离与合并,ROI,的更多相关文章

  1. python实现图像加载与保存,窗口创建与销毁,图片常用属性,ROI,通道的分离与合并,对比度和亮度

    目录: (一)图像加载与保存 (二)图像显示窗口创建与销毁 (三)图片的常用属性的获取 (四)生成指定大小的矩形区域(ROI) (五)图片颜色通道的分离与合并 (六)两张图片相加,改变对比度和亮度 ( ...

  2. OpenCV 学习笔记(8)彩色图像RGB通道的分离、合并与显示

    https://blog.csdn.net/ZYTTAE/article/details/42234989 由于算法的需要,需要把彩色图像的R.G.B值分离出来,OpenCV中正好有split() 和 ...

  3. opencv —— split、merge 通道的分离与合并

    对于三通道或四通道图像,有时要对某一通道的像素值进行修改或展示,这就需要进行通道分离操作.修改后,若要进行结果展示,就需要重新将各通道合并. 通道分离:split 函数 void split (Inp ...

  4. opencv:通道的分离与合并

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  5. OpenCV---色彩空间(二)HSV追踪颜色对象和通道分离与合并

    一:HSV追踪有颜色对象 def inRange(src, lowerb, upperb, dst=None) #lowerb是上面每个颜色分段的最小值,upperb是上面每个颜色分段的最大值,都是列 ...

  6. ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

    ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...

  7. springboot+vue的前后端分离与合并方案

    pringboot和vue结合的方案网络上的主要有以下两种: 1. [不推荐]在html中直接使用script标签引入vue和一些常用的组件,这种方式和以前传统的开发是一样的,只是可以很爽的使用vue ...

  8. OpenCV——ROI截取、线性混合、通道分离、合并、亮度对比度调整

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  9. Opencv中RGB通道/HSV通道并分离

    OpenCV中HSV颜色模型及颜色分量范围 opencv HSV 颜色模型(H通道取值 && CV_BGR2HSV_FULL) [opencv]在hsv颜色空间识别区域颜色 将原图分离 ...

随机推荐

  1. 【leetcode】1281. Subtract the Product and Sum of Digits of an Integer

    题目如下: Given an integer number n, return the difference between the product of its digits and the sum ...

  2. include和require的区别(PHP版本7)

    亲自测试了一下,发现include有条件包含require无条件包含这个区别在PHP7版本中(据说PHP5以后)是不存在的了,也就是在if(false){ } 中都不会执行:还有一个返回值的问题,测试 ...

  3. 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇

    接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...

  4. 交换机配置——单交换机划分VLAN配置

    一.实验目的:实现单交换机划分VLAN,使PC1主机和PC2主机不能通讯 二.拓扑图 三.实验步骤 最开始两台主机都输入的端口f0/1和f0/2都属于vlan 1 可以相互通讯(如下图) 现在需要让P ...

  5. [c++] C++多态(虚函数和虚继承)

    转自:https://www.jianshu.com/p/02183498a2c2 面向对象的三大特性是封装.继承和多态.多态是非常重要的一个特性,C++多态基于虚函数和虚继承实现,本文将完整挖掘C+ ...

  6. Selenium定位策略

    1.通过XPath使用contains() 它将启动一个窗口,其中包含文本框开发中涉及的所有特定代码. 记下它的id属性. 通过XPath定位元素的语法 - 使用contains()可以写成: //& ...

  7. shiro 自定义filter

    1.自定义登录filter package com.creatunion.callcenter.filter; import com.alibaba.fastjson.JSONObject; impo ...

  8. JSP自定义标签的执行原理

    当浏览器发来请求后,会将这个请求交给JSP翻译成的servlet来处理,自定义标签对应servlet中一个方法的调用,这个方法主要步骤如下 1,产生标签处理类的实例对象 2,将pageContext传 ...

  9. 开启两个线程,一个线程打印A~Z,一个线程打印1~52的数据

    开启两个线程,一个线程打印A-Z,一个线程打印1-52的数据 import java.util.concurrent.locks.Condition; import java.util.concurr ...

  10. vue 指示点的疑点拓展

    1. 为什么 vue 组件中的 data 是一个函数 1. 为了保证组件的独立性和可复用性,data 是一个函数,组件实例的时候,这个函数将会被调用,返回一个对象,计算机会给这个对象分配一个内存地址, ...