int get_Hmatrix(matchingslist matchings,CvMat* H_Mat)
{
int numPoints =matchings.size();
CvMat* points1 = cvCreateMat(2,numPoints,CV_32FC1);
CvMat* points2 = cvCreateMat(2,numPoints,CV_32FC1);
cvZero(points1);
cvZero(points2);
matchingslist::iterator ptr = matchings.begin();
for(int i=0;i<numPoints;ptr++,i++)
{
cvmSet(points1,0,i,ptr->first.x);
cvmSet(points1,1,i,ptr->first.y);
cvmSet(points2,0,i,ptr->second.x);
cvmSet(points2,1,i,ptr->second.y);
}
return cvFindFundamentalMat(points1,points2,H_Mat,CV_FM_RANSAC,1.0,0.99);
}
{
int numPoints =matchings.size();
CvMat* points1 = cvCreateMat(2,numPoints,CV_32FC1);
CvMat* points2 = cvCreateMat(2,numPoints,CV_32FC1);
cvZero(points1);
cvZero(points2);
matchingslist::iterator ptr = matchings.begin();
for(int i=0;i<numPoints;ptr++,i++)
{
cvmSet(points1,0,i,ptr->first.x);
cvmSet(points1,1,i,ptr->first.y);
cvmSet(points2,0,i,ptr->second.x);
cvmSet(points2,1,i,ptr->second.y);
}
return cvFindFundamentalMat(points1,points2,H_Mat,CV_FM_RANSAC,1.0,0.99);
}