Reputation: 573
The difference of the principal point x coordinates in right and left images after rectification in stereo imaging is about 10. The length of baseline is 10mm. The resolution of the left and right images is 800x600.
Isn't the difference large for the setup? What reasons may cause this difference?
In the book Learning OpenCV, it only reads that the difference will be 0 if the principal rays intersect at infinity, but doesn't mention the reasons.
Edit:
Cx should be equal to Cx'.
Upvotes: 0
Views: 2034
Reputation: 1955
In the notation you add, you are referring to the Q matrix generated by Stereorectify()
. As the documentation says
where T_x is a horizontal shift between the cameras and cx_1=cx_2 if CV_CALIB_ZERO_DISPARITY is set.
So you can force the two parameters to be equal with the proper flag, but the cause could be retrieved in the angle between the two cameras.
cx = cy when the 2 image plane are coplanar (principal rays intersect at infinity = principal rays are parallel). In this case, Z = f*T/d
If principal rays are convergent, W is increased by the term (cx -cx')/T so, even with disaparities d equal to zero, the point is not mapped at the infinity.
Upvotes: 1