54 int cols, uint8_t row_bin_factor, uint8_t col_bin_factor) {
55 double k1 = _cameraMatrix->
k1;
56 double k2 = _cameraMatrix->
k2;
57 double k3 = _cameraMatrix->
k3;
58 double k4 = _cameraMatrix->
k4;
59 double k5 = _cameraMatrix->
k5;
60 double k6 = _cameraMatrix->
k6;
62 double p2 = _cameraMatrix->
p2;
63 double p1 = _cameraMatrix->
p1;
65 double k[14] = {
k1,
k2, p1, p2, k3, k4, k5, k6, 0, 0, 0, 0, 0, 0};
67 double fx = _cameraMatrix->
fx / row_bin_factor;
68 double fy = _cameraMatrix->
fy / col_bin_factor;
72 double cx = _cameraMatrix->
cx / row_bin_factor;
73 double cy = _cameraMatrix->
cy / col_bin_factor;
76 for (
int i = 0;
i <
n;
i++) {
77 double x,
y, x0 = 0, y0 = 0, u,
v;
95 for (
int j = 0; j < maxcount; j++) {
96 double r2 =
x *
x +
y *
y;
97 double icdist = (1 + ((k[7] * r2 + k[6]) * r2 + k[5]) * r2) /
98 (1 + ((k[4] * r2 + k[1]) * r2 + k[0]) * r2);
105 double deltaX = 2 * k[2] *
x *
y + k[3] * (r2 + 2 *
x *
x) +
106 k[8] * r2 + k[9] * r2 * r2;
107 double deltaY = k[2] * (r2 + 2 *
y *
y) + 2 * k[3] *
x *
y +
108 k[10] * r2 + k[11] * r2 * r2;
109 x = (x0 - deltaX) * icdist;
110 y = (y0 - deltaY) * icdist;