3

の新しいカメラマトリックスを理解する上で問題に直面していcvUndistortpointsます。ステレオキャリブレーション自体でカメラのカメラマトリックスを取得し、cvuncompresspointsから取得したcvstereorectifyで新しいカメラマトリックスを渡さなければならない理由。の出力後のカメラマトリックスとどの程度正確に新しいカメラマトリックスが異なりcvUndistortPointsますか?

void cvUndistortPoints(const CvMat* src, CvMat* dst, const CvMat* cameraMatrix, 
         const CvMat* distCoeffs, const CvMat* R=NULL, const CvMat* P=NULL)
4

2 に答える 2

3

単眼カメラの場合、newCameraMatrixは通常cameraMatrixと同じです。または、GetOptimalNewCameraMatrixによって計算して、スケーリングをより適切に制御できます。

http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#cv-getoptimalnewcameramatrixをチェックしてください

于 2012-07-02T18:31:48.907 に答える
1

答えは、提供したドキュメントの1ページ上です。PはStereoRectifyによって与えられます。

これがopencvrefman.pdfの歪みのない状態での説明です。私の友人、あなたも読んでおく必要があります。

newCameraMatrix –歪んだ画像のカメラマトリックス。デフォルトでは、cameraMatrixと同じですが、別のマトリックスを使用して結果をさらにスケーリングおよびシフトすることができます。

さて、私はこれにかなり慣れておらず、StereoRectify関数を使用する機会はまだありませんが、別のカメラが見るように画像を歪みをなくしたいと思うかもしれません。

于 2012-05-27T14:23:26.047 に答える