Ask Your Question
0

Camera calibration without Z component?

asked 2019-05-08 10:30:58 -0600

kobeking gravatar image

Hello everyone,

I need to calibrate 2 cameras in order to do some image processing (stereoscopy). I have been following the "Camera Calibration" tutorial written on openCV for this (https://docs.opencv.org/3.3.0/dc/dbb/...). In the explanation, it is written that we need many different pattern for a correct calibration. As I understand it, I need to take at least 10 pictures (or more), with different positions and orientations of the Chessboard, in order to get a good calibration. Is that correct ?

It is also explained that the Z component of the 3D points from the real world space is always supposed to be 0. I am not sure to understand how we can assume that the Z component is always 0 if we need to move the chessboard between 2 pictures ?

If anyone understands this, please help me out, I haven't been able to find it anywhere...

edit retag flag offensive close merge delete

Comments

The chessboard is flat and the 3D coordinate system is relative to the chessboard, not the camera. So just imagine that you are moving the camera instead of the chessboard. Same thing, right?

Der Luftmensch gravatar imageDer Luftmensch ( 2019-05-08 17:18:03 -0600 )edit

Thank you for your reply. I have read this already, but unfortunately I don't understand it. What does it change if it's the camera or the chessboard that moves ? In both cases, Z component is not equal to 0. Even more, if you incline the chessboard, the Z component will not be the same for the entire chessboard... Could you please explain ?

kobeking gravatar imagekobeking ( 2019-05-09 03:00:12 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
2

answered 2019-05-09 05:02:05 -0600

HYPEREGO gravatar image

updated 2019-05-09 05:05:32 -0600

It really easy: the chessboard is a planar surface, a plane in the 3d space can be defined using 2 of the dimensions, for instance XY for simplicity. All the point of the chessboard lie in this plane (we already said that is a planar surface, right?) so you can say that all the point on the chessboard have Z=0 because 2 coordinate are sufficient to determine a point in the chessboard. This is not the coordinate of a 3d world point, this assumption means simply that the chessboard is planar.

For instance, this image let you understand very easily

https://rdmilligan.files.wordpress.com/2015/06/cameracalibrationandposeestimation_scenewithaxis.jpg

blue and green define the XY plane, the red is the Z coordinate. I give you a hint: a calibration pattern like this is not good because you can clearly see that is not that planar at all. For a very good calibration result I suggest you to print your calibration chessboard in a rigid surface, or at least try to glue or stick it in a real planar surface.

All the right for the image are of the author, If there is any problem regarding it I can remove the image.

edit flag offensive delete link more

Comments

1

So if I understand you well, it means that the considered coordinate system is always placed on the chessboad, with the XY plane parallel to the chessboard, and it doesn't matter where the camera is placed in space nor if it moves between 2 different pictures ?

kobeking gravatar imagekobeking ( 2019-05-09 09:00:16 -0600 )edit
1

That's completely right! Indeed, you can choose between move the chessboard or move the camera, the result will be the same :)

HYPEREGO gravatar imageHYPEREGO ( 2019-05-10 03:42:00 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2019-05-08 10:30:58 -0600

Seen: 991 times

Last updated: May 09 '19