2

こんにちは私はemguCVライブラリを使用して基本行列を計算しようとしています。ここで私がしたことですが、戻ってきた行列は画像に値がありますhttp://i46.tinypic.com/2v8pt6v.jpg

EmguCVのドキュメントを確認しましたが、パラメータは適切と思われます。

Matrix firstImagePoints = new Matrix(2、8);

  firstImagePoints[0, 0] = 224.0;
  firstImagePoints[0, 1] = 245.0;
  firstImagePoints[0, 2] = 232.0;
  firstImagePoints[0, 3] = 277.0;
  firstImagePoints[0, 4] = 533.0;
  firstImagePoints[0, 5] = 477.0;
  firstImagePoints[0, 6] = 528.0;
  firstImagePoints[0, 7] = 510.0;

  firstImagePoints[1, 0] = 60.0;
  firstImagePoints[1, 1] = 95.0;
  firstImagePoints[1, 2] = 284.0;
  firstImagePoints[1, 3] = 223.0;
  firstImagePoints[1, 4] = 48.0;
  firstImagePoints[1, 5] = 86.0;
  firstImagePoints[1, 6] = 302.0;
  firstImagePoints[1, 7] = 266.0;

Matrix secondImagePoints = new Matrix(2、8);

    secondImagePoints[0, 0] = 111.0;
    secondImagePoints[0, 1] = 129.0;
    secondImagePoints[0, 2] = 123.0;
    secondImagePoints[0, 3] = 159.0;
    secondImagePoints[0, 4] = 401.0;
    secondImagePoints[0, 5] = 344.0;
    secondImagePoints[0, 6] = 402.0;
    secondImagePoints[0, 7] = 382.0;

    secondImagePoints[1, 0] = 79.0;
    secondImagePoints[1, 1] = 111.0;
    secondImagePoints[1, 2] = 295.0;
    secondImagePoints[1, 3] = 236.0;
    secondImagePoints[1, 4] = 52.0;
    secondImagePoints[1, 5] = 94.0;
    secondImagePoints[1, 6] = 317.0;
    secondImagePoints[1, 7] = 279.0;


   fundamentalMatrice=new Matrix<double>(3,3,1);



    CvInvoke.cvFindFundamentalMat(firstImagePoints.Ptr, secondImagePoints.Ptr, fundamentalMatrice.Ptr, Emgu.CV.CvEnum.CV_FM.CV_FM_RANSAC, 1.0, 0.99, IntPtr.Zero);
    isFundamentalMatrixCalculated = true;
4

1 に答える 1

0

削除IntPtr.Zeroして、何が得られるかを確認してみてください。

于 2012-05-03T14:15:07.580 に答える