我基本上试图将另一行添加到我使用findHomography()函数找到的2x3单应矩阵中。
Mat insert = (Mat_<double>(1,3)<<0 , 0 , 1);
Mat homography = findHomography(features1 , features2 , CV_RANSAC);
resize(affine , affine , Size(3,3));
homgraphy.push_back(insert);
cout<<"Homography"<<" "<<homography;
但是当我打印单应性时,第3行没有两个零但是数字非常小。我希望最后一行正好是{0,0,1}。我怎么能这样做?
答案 0 :(得分:0)
如果找不到破坏矩阵的内容(尝试打印insert
以查看它是否已更改),您可以强制解决问题
Mat insert = (Mat_<double>(1,3)<<0 , 0 , 1);
Mat homography = findHomography(features1 , features2 , CV_RANSAC);
resize(affine , affine , Size(3,3));
homgraphy.push_back(insert); // ADD EXTRA ROW TO HOMOGRAPHY RESULT
homgraphy.at<Vec3d>(2,0) = Vec3d(0.0, 0.0, 1.0); // OVERWRITE BOTTOM ROW OF MAT