17 #ifndef LENS_DISTORTION_H
18 #define LENS_DISTORTION_H
21 #include "wxAmiDebugLog.h"
29 double *a,
int Na,
double xc,
double yc,
30 double *x,
double *y,
int *N,
32 double outlier_elimination_factor);
39 double yc,
double *x,
double *y,
40 int N,
double line[3]);
47 double **x,
double **y,
48 int Nl,
int *Np,
double **a,
55 double yc,
double x_input,
66 double *x,
double *y,
int Np,
double *a,
67 int Na,
double x0,
double y0,
int k1,
68 int k2,
double **pol,
double alfa);
77 int *Np,
double x0,
double y0,
78 double *a,
int Na,
int k1,
85 AMI_DLL_H
int ami_lens_distortion_model_update_2v(
double *a,
int k1,
int k2,
93 int Np,
double *a,
int Na,
160 double *a,
int Na,
double x0,
161 double y0,
int k,
double *pol);
167 AMI_DLL_H
int ami_lens_distortion_model_update(
double *a,
int k,
double *pol);
174 double x0,
double y0,
double *a,
181 double x0,
double y0,
double *a,
188 double *xt,
double *yt,
double *a,
195 int *Np,
double x0,
double y0,
196 double *a,
int Na,
int k,
200 int Nl,
int *Np,
double x0,
201 double y0,
double *a,
int Na);
203 int ami_inverse_lens_distortion_fast(
double x,
double y,
double x0,
double y0,
204 double *xt,
double *yt,
double *a,
int Na,
207 double ami_inverse_lens_distortion_newton_raphson(
210 double *xt,
double *yt,
AMI_DLL_H void ami_2v_polynom_to_1v_polynom(double **pt1, int N1, double *p3, double z, int flat)
Function to evaluate a 2 variable polynom in one of the variable value.
Definition: lens_distortion.cpp:536
AMI_DLL_H double ami_polynomial_evaluation(double *a, int Na, double x)
Evaluation of a polynom using horner algorithm.
Definition: lens_distortion.cpp:688
AMI_DLL_H int ami_RootCubicPolynomial(double *a, int N, double *x)
Function to compute the real roots of a cubic polynomial.
Definition: lens_distortion.cpp:635
AMI_DLL_H void ami_polynom_determinant(double p[6][6][19], int Np, int Nd, double *q)
Function to compute the determinant of a polynom matrix.
Definition: lens_distortion.cpp:471
AMI_DLL_H void ami_2v_polynom_derivatives(double **p, int N, double **p_x, double **p_y)
Function to compute the partial derivatives of a 2 variable polynom the degree of the derivative poly...
Definition: lens_distortion.cpp:380
AMI_DLL_H double ami_lens_distortion_estimation(double **x, double **y, int Nl, int *Np, double x0, double y0, double *a, int Na, int k, double alfa)
Function to compute the lens distortion model.
Definition: lens_distortion.cpp:1588
AMI_DLL_H double ami_LensDistortionVarianceError(double *x, double *y, int Np, double x0, double y0, double *a, int Na)
Function to compute the lens distortion energy error (the residual variance of the point distribution...
Definition: lens_distortion.cpp:839
AMI_DLL_H double ami_points_to_line_equation(double *a, int Na, double xc, double yc, double *x, double *y, int N, double line[3])
COMPUTATION OF THE LINE EQUATION INCLUDING THE POLINOMIAL DISTORTION MODEL.
Definition: lens_distortion.cpp:937
AMI_DLL_H int ami_inverse_lens_distortion(double x, double y, double x0, double y0, double *xt, double *yt, double *a, int Na)
Function to inverse the lens distortion transformation.
Definition: lens_distortion.cpp:1413
AMI_DLL_H int ami_lens_distortion_polynomial_update(double *x, double *y, int Np, double *a, int Na, double x0, double y0, int k, double *pol)
Function to add the information of a line point sequence to the 4 degree polynomial to compute the le...
Definition: lens_distortion.cpp:713
AMI_DLL_H double ami_distortion_model_estimation_2p(double xc, double yc, double **x, double **y, int Nl, int *Np, double **a, int *Na)
DISTORTION MODEL ESTIMATION FROM A SET OF LINES.
Definition: lens_distortion.cpp:1211
AMI_DLL_H int ami_lens_distortion_polynomial_update_2v(double *x, double *y, int Np, double *a, int Na, double x0, double y0, int k1, int k2, double **pol)
Function to add the information of a line point sequence to the 4 degree polynomial to compute the le...
Definition: lens_distortion.cpp:278
AMI_DLL_H double ami_points_to_line_equation_outlier_elimination(double *a, int Na, double xc, double yc, double *x, double *y, int *N, double line[3], double outlier_elimination_factor)
COMPUTES THE LINE WITH THE BEST FIT TO A SET OF 2D POINTS AND ERASE DISTANT POINTS TAKING INTO ACCOUN...
Definition: lens_distortion.cpp:1062
AMI_DLL_H void ami_lens_distortion_model_evaluation(double *a, int Na, double xc, double yc, double x_input, double y_input, double *x_output, double *y_output)
COMPUTE THE LENS DISTORTION MODEL IN A POINT.
Definition: lens_distortion.cpp:1309
AMI_DLL_H void ami_2v_polynom_multiplication(double **pt1, int N1, double **p2, int N2, double **p3)
Function to multiply polinoms of 2 variables.
Definition: lens_distortion.cpp:604
AMI_DLL_H int ami_lens_distortion_polynomial_update_distance_2v(double *x, double *y, int Np, double *a, int Na, double x0, double y0, int k1, int k2, double **pol, double alfa)
Function to add the information of a line point sequence to the 4 degree polynomial to compute the le...
Definition: lens_distortion.cpp:39
AMI_DLL_H double * ami_1v_polynom_multiplication(double *pt1, int N1, double *pt2, int N2, double *pt3)
Function to multiply polinoms of 1 variable.
Definition: lens_distortion.cpp:573
AMI_DLL_H double ami_2v_polynom_evaluation(double **pt1, int N1, double x, double y)
Function to evaluate a 2 variable polynom in one point.
Definition: lens_distortion.cpp:506
AMI_DLL_H void ami_lens_distortion_zoom_normalization(double **x, double **y, int Nl, int *Np, double x0, double y0, double *a, int Na)
Not described.
Definition: lens_distortion.cpp:1644
AMI_DLL_H double ami_determinante(double **A, int N)
Function to evaluate the determinant of a matrix.
Definition: lens_distortion.cpp:409
AMI_DLL_H double ami_lens_distortion_estimation_2v(double **x, double **y, int Nl, int *Np, double x0, double y0, double *a, int Na, int k1, int k2, double alfa)
Update of the lens distortion polynomial model for 2 variables. If alfa>0 we adapt a[0] to minimize t...
Definition: lens_distortion.cpp:123
AMI_DLL_H double ami_LensDistortionEnergyError(double *x, double *y, int Np, double x0, double y0, double *a, int Na)
Function to compute the lens distortion energy error.
Definition: lens_distortion.cpp:889