mirror of
https://github.com/opencv/opencv.git
synced 2024-12-01 14:59:54 +08:00
Fix modified
This commit is contained in:
parent
d06bdd5bf6
commit
99374598b3
@ -52,7 +52,6 @@
|
|||||||
that is (in a large extent) based on the paper:
|
that is (in a large extent) based on the paper:
|
||||||
Z. Zhang. "A flexible new technique for camera calibration".
|
Z. Zhang. "A flexible new technique for camera calibration".
|
||||||
IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
|
IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
|
||||||
|
|
||||||
The 1st initial port was done by Valery Mosyagin.
|
The 1st initial port was done by Valery Mosyagin.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -896,9 +895,9 @@ CV_IMPL void cvProjectPoints2( const CvMat* objectPoints,
|
|||||||
double dicdist2_dt = -icdist2*icdist2*(k[5]*dr2dt + 2*k[6]*r2*dr2dt + 3*k[7]*r4*dr2dt);
|
double dicdist2_dt = -icdist2*icdist2*(k[5]*dr2dt + 2*k[6]*r2*dr2dt + 3*k[7]*r4*dr2dt);
|
||||||
double da1dt = 2*(x*dydt[j] + y*dxdt[j]);
|
double da1dt = 2*(x*dydt[j] + y*dxdt[j]);
|
||||||
double dmxdt = (dxdt[j]*cdist*icdist2 + x*dcdist_dt*icdist2 + x*cdist*dicdist2_dt +
|
double dmxdt = (dxdt[j]*cdist*icdist2 + x*dcdist_dt*icdist2 + x*cdist*dicdist2_dt +
|
||||||
k[2]*da1dt + k[3]*(dr2dt + 2*x*dxdt[j]) + k[8]*dr2dt + 2*r2*k[9]*dr2dt);
|
k[2]*da1dt + k[3]*(dr2dt + 4*x*dxdt[j]) + k[8]*dr2dt + 2*r2*k[9]*dr2dt);
|
||||||
double dmydt = (dydt[j]*cdist*icdist2 + y*dcdist_dt*icdist2 + y*cdist*dicdist2_dt +
|
double dmydt = (dydt[j]*cdist*icdist2 + y*dcdist_dt*icdist2 + y*cdist*dicdist2_dt +
|
||||||
k[2]*(dr2dt + 2*y*dydt[j]) + k[3]*da1dt + k[10]*dr2dt + 2*r2*k[11]*dr2dt);
|
k[2]*(dr2dt + 4*y*dydt[j]) + k[3]*da1dt + k[10]*dr2dt + 2*r2*k[11]*dr2dt);
|
||||||
dXdYd = dMatTilt*Vec2d(dmxdt, dmydt);
|
dXdYd = dMatTilt*Vec2d(dmxdt, dmydt);
|
||||||
dpdt_p[j] = fx*dXdYd(0);
|
dpdt_p[j] = fx*dXdYd(0);
|
||||||
dpdt_p[dpdt_step+j] = fy*dXdYd(1);
|
dpdt_p[dpdt_step+j] = fy*dXdYd(1);
|
||||||
@ -935,9 +934,9 @@ CV_IMPL void cvProjectPoints2( const CvMat* objectPoints,
|
|||||||
double dicdist2_dr = -icdist2*icdist2*(k[5] + 2*k[6]*r2 + 3*k[7]*r4)*dr2dr;
|
double dicdist2_dr = -icdist2*icdist2*(k[5] + 2*k[6]*r2 + 3*k[7]*r4)*dr2dr;
|
||||||
double da1dr = 2*(x*dydr + y*dxdr);
|
double da1dr = 2*(x*dydr + y*dxdr);
|
||||||
double dmxdr = (dxdr*cdist*icdist2 + x*dcdist_dr*icdist2 + x*cdist*dicdist2_dr +
|
double dmxdr = (dxdr*cdist*icdist2 + x*dcdist_dr*icdist2 + x*cdist*dicdist2_dr +
|
||||||
k[2]*da1dr + k[3]*(dr2dr + 2*x*dxdr) + (k[8] + 2*r2*k[9])*dr2dr);
|
k[2]*da1dr + k[3]*(dr2dr + 4*x*dxdr) + (k[8] + 2*r2*k[9])*dr2dr);
|
||||||
double dmydr = (dydr*cdist*icdist2 + y*dcdist_dr*icdist2 + y*cdist*dicdist2_dr +
|
double dmydr = (dydr*cdist*icdist2 + y*dcdist_dr*icdist2 + y*cdist*dicdist2_dr +
|
||||||
k[2]*(dr2dr + 2*y*dydr) + k[3]*da1dr + (k[10] + 2*r2*k[11])*dr2dr);
|
k[2]*(dr2dr + 4*y*dydr) + k[3]*da1dr + (k[10] + 2*r2*k[11])*dr2dr);
|
||||||
dXdYd = dMatTilt*Vec2d(dmxdr, dmydr);
|
dXdYd = dMatTilt*Vec2d(dmxdr, dmydr);
|
||||||
dpdr_p[j] = fx*dXdYd(0);
|
dpdr_p[j] = fx*dXdYd(0);
|
||||||
dpdr_p[dpdr_step+j] = fy*dXdYd(1);
|
dpdr_p[dpdr_step+j] = fy*dXdYd(1);
|
||||||
@ -1945,14 +1944,12 @@ double cvStereoCalibrate( const CvMat* _objectPoints, const CvMat* _imagePoints1
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Compute initial estimate of pose
|
Compute initial estimate of pose
|
||||||
|
|
||||||
For each image, compute:
|
For each image, compute:
|
||||||
R(om) is the rotation matrix of om
|
R(om) is the rotation matrix of om
|
||||||
om(R) is the rotation vector of R
|
om(R) is the rotation vector of R
|
||||||
R_ref = R(om_right) * R(om_left)'
|
R_ref = R(om_right) * R(om_left)'
|
||||||
T_ref_list = [T_ref_list; T_right - R_ref * T_left]
|
T_ref_list = [T_ref_list; T_right - R_ref * T_left]
|
||||||
om_ref_list = {om_ref_list; om(R_ref)]
|
om_ref_list = {om_ref_list; om(R_ref)]
|
||||||
|
|
||||||
om = median(om_ref_list)
|
om = median(om_ref_list)
|
||||||
T = median(T_ref_list)
|
T = median(T_ref_list)
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user