我希望你能就这些问题向我澄清一下这个问题
1.如果我将相机校准到特定分辨率640x360,我可以将它用于1024x768等其他分辨率吗?
2.另外我想知道我的图像中有1个像素包含多少厘米。它因系统而异。我如何找到它?而且,它不是强制性的方形。所以我必须找到它的长度和宽度。我该怎么做?
EDIT1: 由于1 mm中的像素数是sensor_width / image_width,这是密度的倒数,我可以计算a_x / f并找到右逆?
@marol
Intrinsic parameters of left camera:
Focal Length: fc_left = [ 1442.67707 1457.17435 ] ± [ 18.12442 19.46439 ]
Principal point: cc_left = [ 497.66112 291.77311 ] ± [ 42.37874 31.97065 ]
Skew: alpha_c_left = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees
Distortion: kc_left = [ 0.02924 -0.65151 -0.01104 -0.01342 0.00000 ] ± [ 0.16553 1.57119 0.00913 0.01306 0.00000 ]
Intrinsic parameters of right camera:
Focal Length: fc_right = [ 1443.32678 1458.82558 ] ± [ 25.55850 26.08659 ]
Principal point: cc_right = [ 567.11672 258.09152 ] ± [ 20.46962 17.87495 ]
Skew: alpha_c_right = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees
Distortion: kc_right = [ -0.58576 21.53289 -0.02278 0.00845 0.00000 ] ± [ 0.28148 9.37092 0.00787 0.00847 0.00000 ]
Extrinsic parameters (position of right camera wrt left camera):
Rotation vector: om = [ -0.04239 0.02401 -0.00677 ]
Translation vector: T = [ 71.66430 -0.79025 -8.76546 ]
答案 0 :(得分:2)
K = [a_x, 0, c_x; 0, a_y, c_y; 0, 0, 1;]
其中a_x =焦点长度* x方向上mm上的像素密度,a_y =焦点长度* y方向上的mm上的像素密度(通常那些密度相等)和c_x =图像平面到x方向上的主点的平移(类似的c_y)。当您输出校准矩阵K时,您将看到如下内容:
K = [a_x, 0, 320;
0, a_y, 180;
0, 0, 1]
是的,你可以看到c_x = 320 = 640/2和c_y = 180 = 360/2。因此,您的校准矩阵与图像分辨率相关,因此您无法在不更改矩阵K的情况下直接将其与任何其他分辨率一起使用。
2.您必须按照图像尺寸划分传感器尺寸,即
k_x = 1 / c_x = sensor_size_width / image_size_width. k_y = 1 / c_y
图像传感器是由光敏材料制成的微小平面,可吸收相机设备中的光线。通常,您可以在相机手册中找到此类信息,搜索传感器尺寸。
编辑:如果您无法在相机手册中找到传感器尺寸,如果是网络摄像头,则可以尝试执行以下操作:校准相机给定矩阵K值a_x和a_y包含此类信息。因为我们说a_x = f *密度,所以如果你知道焦距(你知道 - 它是2.3mm - 见here)所以你可以找出密度= a_x / f。我们知道密度等于image_width / sensor_width,所以最后我们有sensor_width = image_width / density = image_width * f / a_x。对于sensor_height也有类似的想法。
EDIT2:例如,如果你得到:
Focal Length: fc_left = [ 1442.67707 1457.17435 ] ± [ 18.12442 19.46439 ]
所以我们有a_x = 1442.67707。根据我们的结论,如果我们假设图像尺寸为640 x 320,我们的传感器宽度= 640 * 2.3 / 1442.67707 = 1,02 mm。