2
안녕하세요, emguCV 라이브러리를 사용하여 기본 매트릭스를 계산하려고합니다. 여기 내가 무슨 짓을했는지 모르겠지만 반환하는 물체는 이미지에 값을 가지고 있습니다. http://i46.tinypic.com/2v8pt6v.jpgemguCV의 CvInvoke.findFundamentalMatrix 메서드
EmguCV 문서와 매개 변수가 적절하게 검사되었는지 확인했습니다.
매트릭스 firstImagePoints = new 매트릭스 (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;
매트릭스 secondImagePoints = new 매트릭스 (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;
나는 그것의 진정한 기본 매트릭스를 알아 냈다. 내가 신경 쓰지 않는 독특한 행렬은 없다. 답장을위한 고맙습니다. – loki