Я столкнулся с той же проблемой.Глядя на /home/Ralph/opencv/modules/legacy/include/opencv2/legacy/legacy.hpp
, определение структуры выглядит следующим образом:
typedef struct CvStereoCamera
{
CvCamera* camera[2]; /* two individual camera parameters */
float fundMatr[9]; /* fundamental matrix */
/* New part for stereo */
CvPoint3D32f epipole[2];
CvPoint2D32f quad[2][4]; /* coordinates of destination quadrangle after
epipolar geometry rectification */
double coeffs[2][3][3];/* coefficients for transformation */
CvPoint2D32f border[2][4];
CvSize warpSize;
CvStereoLineCoeff* lineCoeffs;
int needSwapCameras;/* flag set to 1 if need to swap cameras for good reconstruction */
float rotMatrix[9];
float transVector[3];
} CvStereoCamera;
Я полностью озадачен тем, почему он тогда не работает: quad
определено прямо здесь.
Комментируя все строки в calibfilter.cpp
и epilines.cpp
, которые ссылаются на атрибут quad
, мне удалось, по крайней мере, компилировать OpenCV, но это, несомненно, нарушило поддержку стереокамеры.