Opencv里vector<Mat>的问题

比如说有个子函数(这应该是子函数吧),开头如下

vector<Mat>CalculateIntegralHOG(Mat& srcMat)

1.vector《Mat》表示Mat类函数吧,为什么要把它放在vector里?
2.Mat和Mat&的区别是什么?

vector《Mat》在这里是函数返回值,vector是数组,vector《Mat》是指Mat类型的数组,c++ stl里的类模板。这里&是c++引用,引用传递参数少了对象的拷贝。
Mat值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。
Mat&引用传递:形参相当于是实参的“别名”,对形参的操作其实就是对实参的操作

1 放vector里面表示返回一组mat变量。
2 &表示引用,也就是在函数内修改了参数srcMat的数值,其修改的结果保留到函数外。

一个是指针一个是指针地址下的内容

char *p=’a‘;
char a=&p;

这貌似是个图形解析实现的函数吧?
1,vector存入Mat的矩阵是按列存储
Mat的类型将隐式转化为vector的类型

2,Mat a,意思是创建一个矩阵a。。。。。。Mat &a的意思是创建一个矩阵a的引用,一般用于传递函数的参数上面,比如输入一个图像矩阵a,然后在a上面进行诸如二值化,颜色缩减等函数之后再imshow(a)就会直观的显示出处理之后的图像,相当于克隆了一个a图像矩阵,在a上面怎么操作,源图像也会相应的变化。

类型转换问题,隐式转换一下