1.首先针对于插入一个数问题:
在参考了https://blog.csdn.net/ruohuanni/article/details/45973423?utm_source=blogxgwz2
明白了Mat类型也可以像容器vector一样使用。不过需要注意的是插入的数值只能与该容器中的一样的类型。
Mat temp(1, 16, CV_64F);;
for (int j = 0; j < 10; j++)
{
temp.at<double>(0, j-1) = j;
}
origin.push_back(temp);
我个人的看法是在开头不要给temp初始化
Mat temp;
for (int j = 0; j < 10; j++)
{
temp.at<double>(0, j-1) = j;
}
origin.push_back(temp);
//这样你可以实现任何的类型值的传入
2.插入一个数组
参考https://ask.csdn.net/questions/157559
也是强制类型的问题,这里的代码是一个个赋值的代码,同样插入也是一个接一个的输入,使用push_back.
for(int i=a;i {
//想把数组加到矩阵的某一行
i++;
float *p;
p=colsmean;//colsmean是个float数组
for(int j=0;j {
//matsurfdes_addrow是一个Mat矩阵
matsurfdes_addrow.ptr(i)[j]=(float)(*p);
p++;
}
}