Использование JavaCV. У меня есть 2 набора точек CvPoint2D32f в ArrayList: один из захвата изображения с мобильного телефона, а другой — из известного постоянного источника изображения.
Я хочу применить метод cvFindHomogrpahy()
, используя эти точки, чтобы найти матрицу гомографии между точками. Я использую следующий код, чтобы попытаться сделать это, но я застрял в том, как перейти от точек, которые я знаю, к 2 cvMat
, которые метод cvFindHomogrpahy()
принимает в качестве параметров:
matsrc = cvCreateMat(points.size(), 2, CV_32FC1);
matdst = cvCreateMat(known.size(), 2, CV_32FC1);
for(int s=0; s < points.size(); s++){
CvPoint2D32f p = (CvPoint2D32f)points.get(i).get("Point");
//Add this point to matsrc
}
for(int s=0; s < known.size(); s++){
CvPoint2D32f p = (CvPoint2D32f)known.get(i).get("Point");
//Add this point to matdst
}
CvMat mat = cvCreateMat(3, 3, CV_32FC1);
cvFindHomography(matsrc, matdst, mat); //Here the matrices created are used to find the 3x3 Homography transform Matrix
Я иду об этом совершенно неправильно?