opencv —— split、merge 通道的分离与合并
对于三通道或四通道图像,有时要对某一通道的像素值进行修改或展示,这就需要进行通道分离操作。修改后,若要进行结果展示,就需要重新将各通道合并。
通道分离:split 函数
void split (InputArray m, OutputArrayOfArrays mv);
- m ,需要进行分离的多通道矩阵,一般为 Mat 类型。
- mv ,用来存储分离后的多个矩阵,可用 vector 容器来存储。
通道合并:merge 函数
void merge(InputArrayOfArrays mv,OutputArray dst);
- mv ,需要被合并的多个矩阵,多使用 vector 容器存储,mv 中所有矩阵必须有着一样的尺寸和深度。
- dst ,输出矩阵,和 m[0] 拥有一样的尺寸和深度,并且通道的数量是矩阵阵列中的通道数总和。
代码示例:
#include<opencv.hpp>
#include<vector>
using namespace cv;
using namespace std;
int main() {
Mat src = imread("C:/Users/齐明洋/Desktop/3.jpg");
vector<Mat>bgr_img;
split(src, bgr_img);
Mat b_img = bgr_img[];
Mat g_img = bgr_img[];
Mat r_img = bgr_img[];
imshow("b_img", b_img);
imshow("g_img", g_img);
imshow("r_img", r_img);
Mat merge_img;
merge(bgr_img, merge_img);
imshow("merge_img", merge_img);
waitKey();
}
opencv —— split、merge 通道的分离与合并的更多相关文章
- 通道的分离与合并,ROI,
通道的分离与合并 class Program { static void Main(String[] args) { Mat img = CvInvoke.Imread(@"C:\Users ...
- python实现图像加载与保存,窗口创建与销毁,图片常用属性,ROI,通道的分离与合并,对比度和亮度
目录: (一)图像加载与保存 (二)图像显示窗口创建与销毁 (三)图片的常用属性的获取 (四)生成指定大小的矩形区域(ROI) (五)图片颜色通道的分离与合并 (六)两张图片相加,改变对比度和亮度 ( ...
- OpenCV 学习笔记(8)彩色图像RGB通道的分离、合并与显示
https://blog.csdn.net/ZYTTAE/article/details/42234989 由于算法的需要,需要把彩色图像的R.G.B值分离出来,OpenCV中正好有split() 和 ...
- opencv:通道的分离与合并
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- C++ Opencv split()通道分离函数 merge()通道合并函数 使用操作详解
一. split()通道分离函数 split()函数的C++版本有两个原型,他们分别是: C++: void split(const Mat& src, Mat*mvbegin);//& ...
- OpenCV---色彩空间(二)HSV追踪颜色对象和通道分离与合并
一:HSV追踪有颜色对象 def inRange(src, lowerb, upperb, dst=None) #lowerb是上面每个颜色分段的最小值,upperb是上面每个颜色分段的最大值,都是列 ...
- springboot+vue的前后端分离与合并方案
pringboot和vue结合的方案网络上的主要有以下两种: 1. [不推荐]在html中直接使用script标签引入vue和一些常用的组件,这种方式和以前传统的开发是一样的,只是可以很爽的使用vue ...
- ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机
ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...
- git 使用merge 对本地分支进行合并 并进行代码提交的流程
1.只有当将修改内容commit后 该修改才完全生效,进行merge前需要将两个分支修改的内容都进行commit 2.假设本地两个分支 用于开发的分支:dev 用于同步远程仓库的分支:mas ...
随机推荐
- 85道Java微服务面试题整理(助力2020面试)
微服务 面试题 1.您对微服务有何了解? 2.微服务架构有哪些优势? 3.微服务有哪些特点? 4.设计微服务的最佳实践是什么? 5.微服务架构如何运作? 6.微服务架构的优缺点是什么? 7.单片,SO ...
- 2.OpenStack 网络简介(neutron)
OpenStack 网络简介(neutron) 概述和组件 OpenStack 网络允许您创建和管理网络对象, 如网络.子网和端口, 其他 OpenStack 服务可以使用.插件可以实现, 以适应不同 ...
- drf路由分发、解析/渲染模块配置、使用admin、自动序列化配置
目录 drf路由分发配置 解析模块配置 渲染模块配置 浏览器渲染打开 浏览器渲染关闭 结论 drf使用后台admin drf序列化模块 serializers.py: views.py:单查群查 测试 ...
- Imagine— 让图片再小一点点
文章选自我的博客:https://blog.ljyngup.com/archives/267.html/ 再次祭出神奇的Github 这次给大家介绍的是一款神奇的图片压缩软件,以质量的微小损失换取大量 ...
- Request库的安装与使用
Request库的安装与使用 安装 pip install reqeusts Requests库的7个主要使用方法 requests.request() 构造一个请求,支撑以下各方法的基础方法 req ...
- Software Testing Concepts
Software Testing Concepts
- 苹果系统iOS、macOS应用管理机制
iOS.macOS系统应用管理机制 苹果系统包括:iOS.macOS.watchOS.tvOS.应用软件的生命周期为:开发.上线.安装.使用.卸载.这篇文档将从应用生命周期的各个环节介绍苹果系统对应用 ...
- 17-SSM中通过pagehelper分页的实现
SSM中通过pagehelper分页的实现 1. 在SSM框架的基础上实现,导包 <!-- 分页 --> <dependency> <groupId>com.git ...
- 交换机 路由器 防火墙asa 安全访问、配置 方式
这里交换机 路由器 暂时统称为 网络设备 我们一般管理网络设备采用的几种方法 一般来说,可以用5种方式来设置路由器: 1. Console口接终端或运行终端仿真软件的微机(第一次配置要使用此方式) ...
- VNC 远程桌面 连接(安装桌面程序)
1.修改linux启动方式 # vi /etc/inittab 将3改为5 id:5:initdefault: 2.关闭防火墙(或者单独打开接口) #s ...