opencv 二维mat矩阵增加一行
用途
有时候需要让矩阵增加一行,遇上的实例是我想把求得的仿射矩阵(2x3)变成一个透视变换矩阵(3x3)方便后面的运算,只需要增加{0,0,1}到最后一行就可以了;实际上透视变换矩阵的最后一行是{0,0,1}时,就是一个仿射变换
代码
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char* argv[])
{
double v1[2][3] = { 1,2,3,4,5,6 };
double v2[1][3] = { 7,8,9};
Mat test(2, 3, CV_64F,&v1[0][0]); //生成一个2行3列的mat,用double数组初始化
cout << test << endl << endl;
Mat row(1, 3, CV_64F, &v2[0][0]);//生成一个1行3列的mat,用double数组初始化
test.push_back(row);//添加一行至test
cout << test << endl;
system("pause");
return 0;
}
输出结果
参考
在OpenCV中向矩阵添加一行(Add a row to a matrix in OpenCV)https://www.it1352.com/1607100.html
完
--------------------------------------------------------------------------------------------诺有缸的高飞鸟202104