によって生成されたポイントから作成した を使用FindFundamentalMat
しました。ドキュメントでは、 が と同じ形式の対応点を使用できると指定しています。CvMat
FindChessboardCorners
StereoRectifyUncalibrated
FindFundamentalMat
ただし、を使用しようとするとStereoRectifyUncalibrated
、次のエラーが発生します。
OpenCV Error: Assertion failed (CV_IS_MAT(_points1) && CV_IS_MAT(_points2) && (_points1->rows == 1 || _points1->cols == 1) && (_points2->rows == 1 || _points2->cols == 1) && CV_ARE_SIZES_EQ(_points1, _points2)) in cvStereoRectifyUncalibrated, file /home/moos/prog/opencv/OpenCV-2.1.0/src/cv/cvcalibration.cpp, line 2539
の点の配列はStereoRectifyUncalibrated
1 次元である必要があるようですが、対応する点の x 座標と y 座標を指定するにはどうすればよいですか?
以前私はしました:
cv.FindFundamentalMat(points1,points2,F,method=cv.CV_FM_RANSAC,param1=1.,param2=cv.CV_FM_8POINT)
cv.Save("F.xml",F);
cv.StereoRectifyUncalibrated(points1,points2,F,(320,240),H1,H2,threshold=5)
エラーは で発生しましたStereoRectifyUncalibrated
( ではありませんFindFundamentalMat
)。
それから私は試しました:
cv.StereoRectifyUncalibrated(points1[1],points2[1],F,(320,240),H1,H2,threshold=5)
エラーは発生しませんでした!しかし、それが正しいかどうかはわかりません。