OpenCV 函数学习笔记

来源:互联网 发布:杨肃江自动画线源码 编辑:程序博客网 时间:2024/05/16 09:13

1.

cv::mixChannels(const Mat* src, size_t nsrcs, Mat* dst, size_t ndsts, const int* fromTo, size_t npairs)

版本:opencv3.1
功能:把输入矩阵的特定通道复制到输出矩阵的特定通道。输出矩阵和输入矩阵都可以是多个。
参数:1.输入矩阵,可以是一个Mat或者vector<Mat>,但是所有的输入矩阵必须是相同的size和depth
   2.输入矩阵的个数
   3.输出矩阵,可以是一个Mat或者vector<Mat>,但是所有的输出矩阵必须和src[0]具有相同的size和depth,所有的矩阵都必须提前申请空间。(opencv中的大部分函数都不要求输入的矩阵申请空间,只需要有头部信息就可以。但是这个函数特殊,输出矩阵必须提前申请空间)
   4.输出矩阵的个数
   5.复制通道的对应关系数组。数组长度为偶数,包含若干个pairs,表示复制输入矩阵的通道到输出矩阵的对应关系。例如,
int from_to[] = { 0,2, 1,1, 2,0, 3,3 };
矩阵通道的标号是如何表示的呢?假如输入矩阵是vector<Mat>类型,第一个矩阵是CV_8UC2,第二个矩阵是CV_8UC3,那么第一个矩阵的通道标号是从0-1,第二个矩阵的通道标号是从2-4,以此类推。且输出矩阵的标号规则一样。如果一个pairs中表示输入矩阵通道标号的数字是负数,例如
int from_to[] = { 0,2, 1,1, 2,0, -3,3 };
,那么输出矩阵的标号为3的通道,将不复制数据,而是直接 填充为0
   6.第五个参数中包含的pairs的个数,不是元素的个数

0 0