1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
//Coordonnées 3D du plan
double data_object_points[] =
{ 1,-1,0,
1,1,0,
-1,1,0,
-1,-1,0};
//Coordonnées 2D du plan
double data_image_points[] =
{ A.x,A.y,
B.x,B.y,
C.x,C.y,
D.x,D.y};
//Params intrinsic
double data_intrinsic_matrix[] = { 821.51,-4.00136 ,344.993,
0, 820.367 , 238.763,
0,0,1 };
double data_distortion_vector[]={ -0.00611905, 1.11889, 0,0 };
//Init Mat
CvMat object_points=cvMat(4,3,CV_32FC1,data_object_points);
CvMat image_points=cvMat(4,2,CV_32FC1,data_image_points);
intrinsic_matrix=cvMat(3,3,CV_32FC1,data_intrinsic_matrix);
distortion_coeffs=cvMat(4,1,CV_32FC1,data_distortion_vector);
double data_rotation[] = { 0,0,0 };
double data_translation[] = { 0,0,0 };
rotation_vector=cvMat(3,1,CV_32FC1,data_rotation);
translation_vector=cvMat(3,1,CV_32FC1,data_translation);
cvFindExtrinsicCameraParams2(&object_points,&image_points,&intrinsic_matrix,&distortion_coeffs,&rotation_vector,&translation_vector ); |
Partager