规范化的像素值怎么走吗

9的观点(30天)
弗朗西斯科·玛
弗朗西斯科·玛 约10小时前
我想手动计算reprojected分worldPoints imagePoints坐标。自从我某些设置用于estimateCameraParameters()我想知道如何正确使用失真系数校准后发现。在Matlab文档,扭曲的像素被发现通过规范化像素获得:
这个例子是x的值。我的问题:
1)应 f x的焦距 x 价值和y的焦距 y 值还是通常的焦距在毫米获得 吗?
2)方程是正确的吗?
3)最后的价值 x 我应该得到一个图像,这是方程使用吗?
成为第一个组件的投影向量除以第三个(比例因子)
这是我使用的部分代码。结果是不一样的ReprojectedPoint结构部分我从校准:
Q = [worldPoints (7,1); worldPoints (7, 2), 0, 1];
Kaugm = [params.K (1, 1), params.K (1、2), params.K (1,3), 0;
params.K (2, 1), params.K (2, 2), params.K (2、3), 0;
params.K (3,1), params.K (3 2) params.K (3、3), 0;
];
q = Kaugm * params.PatternExtrinsics (5)。* q
u = q (1,1) / q (3,1);
v = (2, 1) / q (3,1);
x = (u-params.PrincipalPoint (1)) / params.Intrinsics.FocalLength (1);
y = (v-params.PrincipalPoint (2)) / params.Intrinsics.FocalLength (2);
u_dist_rad = x * (1 + params.RadialDistortion (1,1) * (x ^ 2 + y ^ 2) +
params.RadialDistortion (1、2) * (x ^ 2 + y ^ 2) ^ 2 +
params.RadialDistortion (1、3) * (x ^ 2 + y ^ 2) ^ 3);
v_dist_rad = y * (1 + params.RadialDistortion (1,1) * (x ^ 2 + y ^ 2) +
params.RadialDistortion (1、2) * (x ^ 2 + y ^ 2) ^ 2 +
params.RadialDistortion (1、3) * (x ^ 2 + y ^ 2) ^ 3);
u_dist_tan = x + (2 * params.TangentialDistortion (1,1) * x * y +
params.TangentialDistortion (1、2) * ((x ^ 2 + y ^ 2) + 2 * x ^ 2));
v_dist_tan = y + (params.TangentialDistortion (1,1) * ((x ^ 2 + y ^ 2) + 2 * y ^ 2) +
2 * params.TangentialDistortion (1、2) * x * y);
u_final = u + u_dist_rad + u_dist_tan
v_final = v + v_dist_rad + v_dist_tan

答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!