bool interp_step(int octv, int intvl, int r, int c, out double xi, out double xr, out double xc) { xi = xr = xc = 0; double _dx = 0; double _dy = 0; double _ds = 0; deriv_3D(octv, intvl, r, c, out _dx, out _dy, out _ds); CDVMatrix H = hessian_3D(octv, intvl, r, c); if (H == null) { return(false); } CDVMatrix H_inv = CDVMatrix.Inversion(H); if (H_inv == null) { return(false); } H_inv.MultiplyVector(_dx, _dy, _ds, out xi, out xr, out xc); return(true); }
internal static CDVMatrix cvInvert(CDVMatrix pCDVMatrix) { return(pCDVMatrix != null ? CDVMatrix.Inversion(pCDVMatrix) : null); }