我有一个来自 opencv 中的 Core.Rodrigues 函数的旋转矩阵。我想通过这个旋转矩阵围绕原点旋转位于 (0, 0, 1) 的点。我该怎么做才能获得该点的新位置?
Mat rmat= new Mat();
Calib3d.Rodrigues(rvec, rmat); //rvec is the rotation vector from solvepnp
double[] p= {0, 0, 1};
Scalar scalar= new Scalar(p);
Mat point= new Mat(1, 3, CvType.CV_64F, scalar);
Mat newpoint= new Mat();
Mat empty= new Mat();
Core.gemm(point, rmat, 1, empty, 0, newpoint);
newpoint 结果为 0, 0, 0,当我知道那是错误的
任何帮助,将不胜感激。