opencv 图像操作
来源:互联网 发布:cacti for windows 编辑:程序博客网 时间:2024/05/29 08:04
一、多通道图像的分离
1、通道分离: split()函数
split函数用于将一个多通道数组分离成几个单通道数组。这里的array 按语境翻译为数组或者阵列。split函数的C++版本有两个原型, 分别是:
• c ++: void split( const Mat& src, Mat*mvbegin);
• C++ : void split(InputArray m ,Outpu从nayOfArrays mv);
变量介绍如下:
· 第一个参数, InputArray 类型的m 或者const Mat&类型的src ,填我们需要进行分离的多通道数组。
· 第二个参数, OutputArrayOfArrays 类型的mv , 填函数的输出数组或者输出
的vector 容器。
split 函数分割多通道数组转换成独立的单通道数组,公式如下:
mv[c] (I)= src(I )c
2、通道合并: merge()函数
merge() 函数是split() 函数的逆向操作将多个数组合并成一个多通道的数组。它通过组合一些给定的单通道数组,将这些孤立的单通道数组合并成一个多通道的数组,从而创建出一个由多个单通道阵列组成的多通道阵列。它有两个基于C十+的函数原型如下。
• C++: void merge(const Mat* mv, size_tcount, Ou阳山rray dst)
• C++: void merge( In putArrayO队rrays mv,OutputArray dst)
变量介绍如下。
· 第一个参数, mv 。填需要被合井的输入矩阵或vector 容器的阵列,这个mv 参数中所有的矩阵必须有着一样的尺寸和深度。
· 第二个参数, count。 当mv 为一个空白的C 数组时,代表输入矩阵的个数,这个参数显然必须大于1。
· 第三个参数, dst。即输出矩阵,和mv[0]拥有一样的尺寸和深度,井且通道的数量是矩阵阵列中的通道的总数。
函数解析如下。
merge 函数的功能是将一些数组合并成一个多通道的数组。关于组合的细节,输出矩阵中的每个元素都将是输出数组的串接。其中, 第i 个输入数组的元素被视为mv[i] 。 C 一般用其中的Mat: :at()方法对某个通道进行存取,也就是这样用:channels.at(0) 。
这里的Mat: :at()方法返回一个引用到指定的数组元素。注意是引用,相当于两者等价,也就是修改其中一个,另一个也会随之改变。
// mark 一下, 待续
- opencv基本图像操作
- OpenCV图像缩放操作
- OpenCv图像操作
- opencv图像数据操作
- opencv图像基本操作
- opencv 图像操作
- opencv 内存图像操作
- Opencv图像Mat操作
- opencv-图像基本操作
- opencv(c++)图像操作
- OpenCV--模糊图像操作
- OpenCV-图像基本操作
- OpenCV图像操作-图像反色操作
- OpenCV 图像使用和操作
- OpenCV学习之图像操作
- OpenCV学习之子图像操作
- opencv图像处理基本操作
- OpenCV图像的矩阵操作
- 关于项目导入第三方静态库可能遇到的问题(1)
- 九.Scala 循环
- Unity 协程运行时的监控和优化
- 实现 一个圆环进度条的Demo---渣渣级别
- 关于学习Hadoop中未总结的资料
- opencv 图像操作
- 关于windows系统编译openssl遇到的ms\do_ms不是内部或外部命令的解决方法
- 读c++ primer有感----局部和全局变量,extern,static
- CssSprite制作雪碧图
- 淘宝技术这十年
- SSM中读取properties文件乱码问题
- SQL Server常用函数
- XMLHttpRequest对象属性简单介绍
- 山区修路