在使用 OpenCV 中的函数 cv::Rodrigues 时,我在 QtCreator 中遇到了问题。使用rodrigues将旋转矩阵转换为旋转向量时,我总是遇到运行时错误。从 rot 向量到 rot 矩阵时我没有这样的问题,但反之亦然。这是使用此功能的简单代码。值得一提的是,它可以在 Visual Studio 中运行。
cv::Mat R(3,3,CV_32F);
R.at<float>(0,0)=0;
R.at<float>(0,1)=0;
R.at<float>(0,2)=1;
R.at<float>(1,0)=0;
R.at<float>(1,1)=1;
R.at<float>(1,2)=0;
R.at<float>(2,0)=-1;
R.at<float>(2,1)=0;
R.at<float>(2,2)=0;
cv::Mat rvec_result;
cv::Rodrigues(R,rvec_result);
R 是一个 3x3 矩阵,表示绕 Y 轴旋转 90 度。当我在调试模式下跟踪它时,我在调用rodrigues() 时得到分段错误(SIGSEGV)。
我使用的是 OpenCV 2.4.1,我的系统是 64 位的。谁能帮我解决这个问题?
提前致谢。