将矩阵(opencv)的向量转换为c ++数组

时间:2018-06-12 20:38:34

标签: c++ arrays

我有一个四个矩阵的向量Io(Io有m列和n行),我想创建一个大数组'结果' (c ++数组,不是1D opencv向量,结果长度应该是4 * m * n),所有矩阵都重新形成1D,它们的实体连接在一起。

到目前为止,这就是我所做的。但我觉得它有点冗长。拥有看起来更好的替代解决方案会很不错。

Mat Iotem1 = Io[0].reshape(0, 1); vector<float> vec1; Iotem1.copyTo(vec1);
Mat Iotem2 = Io[1].reshape(0, 1); vector<float> vec2; Iotem2.copyTo(vec2);
Mat Iotem3 = Io[2].reshape(0, 1); vector<float> vec3; Iotem3.copyTo(vec3);
Mat Iotem4 = Io[3].reshape(0, 1); vector<float> vec4; Iotem3.copyTo(vec4); 
float * result = new float[4*data_SIZE];
vec1.insert(vec1.end(), vec2.begin(), vec2.end());
vec1.insert(vec1.end(), vec3.begin(), vec3.end());
vec1.insert(vec1.end(), vec4.begin(), vec4.end());
memcpy(result, &vec1[0], sizeof(int) * vec1.size());

0 个答案:

没有答案