赞
踩
有时候需要让矩阵增加一行,遇上的实例是我想把求得的仿射矩阵(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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。