1.一些独特且实用的矩阵构造方式:
//1.矩阵的构造方式
//1.1 直接构造
Mat a=(Mat_<float> (2,2)<<1,2,2,3);
//1.2 基于Matx构造
Matx22f tmp(1, 2, 2, 3);
Mat b = Mat(tmp, true);
//1.3 基于矢量构造
vector<uchar> s;
s.push_back(1);
s.push_back(2);
s.push_back(2);
s.push_back(3);
//c矩阵为 1*4
Mat c = Mat(s, true);
//d矩阵为 1*4
Vec4b vec(1, 2, 2, 3);
Mat d(vec, true);
2.数组迭代器
//2.数组迭代器
int size = 5;
int n_size[] = {size,size,size};
Mat n_mat_01(3, n_size, CV_32FC1);
Mat n_mat_02(3, n_size, CV_32FC1);
RNG rng;
rng.fill(n_mat_01,RNG::UNIFORM,0.f,1.f);
rng.fill(n_mat_02, RNG::UNIFORM, 0.f, 1.f);
const Mat* arrays[] = {&n_mat_01,&n_mat_02,0};
Mat my_planes[2];
NAryMatIterator it(arrays,my_planes);
float k=0;
int n = 0;
for (int p = 0; p < it.nplanes; p++, it++)
{
k= k + sum(it.planes[0])[0];
k= k + sum(it.planes[1])[0];
n+