fixed sized matrices and minor improvements
parent
8634d3f42e
commit
7dab718861
|
@ -126,20 +126,17 @@ Point2 Cal3Bundler::calibrate(const Point2& pi,
|
|||
// df/pi = -I (pn and pi are independent args)
|
||||
// Dcal = -inv(H_uncal_pn) * df/pi = -inv(H_uncal_pn) * (-I) = inv(H_uncal_pn)
|
||||
// Dp = -inv(H_uncal_pn) * df/K = -inv(H_uncal_pn) * H_uncal_K
|
||||
Matrix H_uncal_K, H_uncal_pn;
|
||||
Matrix23 H_uncal_K;
|
||||
Matrix22 H_uncal_pn;
|
||||
|
||||
if (Dcal || Dp) {
|
||||
// Compute uncalibrate Jacobians
|
||||
uncalibrate(pn, H_uncal_K, H_uncal_pn);
|
||||
}
|
||||
uncalibrate(pn, Dcal ? &H_uncal_K : nullptr, H_uncal_pn);
|
||||
|
||||
if (Dcal) {
|
||||
*Dcal = -H_uncal_pn.inverse() * H_uncal_K;
|
||||
}
|
||||
if (Dp) {
|
||||
*Dp = H_uncal_pn.inverse();
|
||||
}
|
||||
if (Dp) *Dp = H_uncal_pn.inverse();
|
||||
if (Dcal) *Dcal = -H_uncal_pn.inverse() * H_uncal_K;
|
||||
|
||||
}
|
||||
return pn;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue