pose_calib
pose_calib copied to clipboard
Board distance to camera seems incorrect
Hello,
https://github.com/paroj/pose_calib/blob/639bd19220df8ef7d650d8803198f43b154e3785/utils.py#L105-L106 These lines give the following output when my board is only at less than 1m from the camera:
(-177.5789028737629, 30.348112187233394, -22.048297669171536)
[-660.85977278 1160.66729182 6463.50500647]
I'm using the default board and yaml where the square len is expressed in millimeters:
%YAML:1.0
---
v4l_id: "046d_HD_Pro_Webcam_C920_CE239BFF"
terminate_var: 0.1
image_width: 640
image_height: 480
board_x: 9
board_y: 6
square_len: 280
marker_len: 182
dictionary: 0
pt_min_markers: 1
It still manages to calibrate my camera correctly but I just wanted to understand why I get these values I'm using opencv 3.4.8.29
the distance is given in square_len units. In my case 280 means 2.80 cm when printed. If measure your printed .your_square_len in mm, tvec * your_square_len/ square_len will give you the distance in dm.
As you already noticed, this is not relevant for intrinsic calibration though.
I also have 280mm when printed, so the distance should be in mm.
However, tvec values do not correspond to reality, even after several acquisitions.