Azzera filtri
Azzera filtri

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

3 visualizzazioni (ultimi 30 giorni)
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 ?

Risposta accettata

chicken vector
chicken vector il 28 Apr 2023
Modificato: chicken vector il 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 Commenti
chicken vector
chicken vector il 4 Mag 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by