1

当我调试这段代码时,它没有输入 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);
4

0 回答 0