pose_calib icon indicating copy to clipboard operation
pose_calib copied to clipboard

Board distance to camera seems incorrect

Open Acwok opened this issue 4 years ago • 2 comments

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

Acwok avatar Jul 30 '21 15:07 Acwok

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.

paroj avatar Jul 30 '21 16:07 paroj

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.

Acwok avatar Aug 16 '21 09:08 Acwok