Clear Filters
Clear Filters

rectifyStereoImages Rotation Matrix output is coming out 3 x 4 instead of 3 x 3

3 views (last 30 days)
Hi, i am using the Matlab function rectifyStereoImages to calculate the camera1 rotation matrix and camera 2 rotation matrix (R1 and R2) as suggested in the documentation.
Documentation Example :-
[___,camMatrix1,camMatrix2,R1,R2] = rectifyStereoImages(I1,I2,stereoParams) returns the 3-by-4 camera projection matrices camMatrix1 and camMatrix2 for the rectified cameras, and the corresponding rectification rotation matrices, R1 and R2.
R1 and R2 should be 3 x 3 as said in the documentation.
Here is what i am doing :-
load("CameraCalib.mat")
LeftImage = imread("Left.png");
RightImage = imread("Right.png");
[~, CamMatLeft, CamMatRight, R1, R2] = rectifyStereoImages(LeftImage, RightImage, CameraCalib);
according to the documentation R1 and R2 should be 3 x 3 but in my workspace i am getting R1 and R2 to be 3 x 4 projection matrices.
Any idea what am i doing wrong here ? If so how should i fix this to get the desired matrices ?

Accepted Answer

chicken vector
chicken vector on 28 Apr 2023
Edited: chicken vector on 28 Apr 2023
It looks like you are missing two output arguments, so what you call R1 is actually camMatrix1.
The default syntax of the function is:
[J1,J2,reprojectionMatrix] = rectifyStereoImages(I1,I2,stereoParams)
It means that when you use this:
[___,camMatrix1,camMatrix2,R1,R2] = rectifyStereoImages(I1,I2,stereoParams)
^This line takes into account the three output J1, J2 and reprojectionMatrix.
You need to do:
load("CameraCalib.mat")
LeftImage = imread("Left.png");
RightImage = imread("Right.png");
[~, ~, ~, CamMatLeft, CamMatRight, R1, R2] = rectifyStereoImages(LeftImage, RightImage, CameraCalib);
  3 Comments
chicken vector
chicken vector on 4 May 2023
I am not sure. If the stereo parameters remain the same, probably yes, but I don't know how much time you can save by doing that.
Anyway, you can try to use the function on different frames and see if the rotation matricees are the same.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!