当我调试这段代码时,它没有输入 cvundistortpoint 并给我这个错误:变量“输入”周围的堆栈已损坏。我读过这个问题的类似答案,但没有一个是在 OpenCV 中,这有什么区别吗?是因为我的 _src 和 _dest 矩阵大小吗?我已经放了“for”循环来查看 _src 是否被填充。
float input [2][2] = {{xR , yR},{xL , yL}};
float src[1][4], dest[1][4];
CvMat _src = cvMat(1, 4, CV_64FC2, src );
CvMat _dest = cvMat(1, 4, CV_64FC2, dest );
for(int k = 0; k<2; k++)
{
for(int l = 0; l < 2; l++)
{
CV_MAT_ELEM(_src,float,0,k*2+l) = input[k][l];
float f =CV_MAT_ELEM(_src,float,0,k*2+l);
cout<<endl<<"undis"<<endl<<f<<endl;
}//end forj
}//end fori
cvUndistortPoints(&_src, &_dest, &_intrinsic1, &_Distortion1);