I=B4m going nuts here=2E I will try to explain the situation=2E=2E=2E=2E
I have 2 cameras=2C 1 with a fish-eye distortion model and one with =
hardly any distortion=2E
I have calibrated both cameras=2E When I run the simpleLite example =
everything goes ok=2E
What I do is I get the values from the ARToolKit matrix and write them =
down for both cameras=2E
---------------------------------
Now I am going to run the twoView example with both cameras and each =
with his own camera calibration file=2E My first camera is the distorted =
one=2C and the second one is the other one=2E Also in that order I put th=
e =
calib=5Fparams files=2E So=2C they should their appropriate files=2E
I=B4m going to obtain the matrix from the first camera and I am going to =
draw with that camera in the screen of the second camera=2E Then the =
cube appears as it should when only using the first camera with =
simpleLite=2E
----------------------------------
Everything seems ok=2C at least the cube appears as it should=2E But now =
I =
am going to get the values in the ARToolKit matrix and they have =
changed=2E=2E=2E=2E They are not the same as in simpleLite=2E=2E=2E
That made me think something goes wrong with loading the calibration =
files=2E So=2C I ran the simpleLite example with the first camera but wit=
h =
the calibration file of the second camera and what do I get=3F I get the =
same values as in twoView!
But however when I obtain the values from the matrix from the second =
camera in twoView they are the same as I got them in simpleLite=2E
Now=2C the thought came to me that the calibration files in some way are =
assigned wrongly=2E
That for the first camera it is using the calibration for the second =
file=2E This can be the explanation for the wrong values=2E But when I=B4=
m =
going to draw it is using the calibration from the first camera=2C so =
that wrong values are compensated for and finally the cube appears ok=2E =
But if the calibration files have changed also the values for the =
second matrix should have changed=2C but they have not=2E=2E=2E=2E
I don=B4t understand it anymore=2E=2E=2E=2E=2E
------------------------------------------------
So=2C assuming that the order of the files has changed=2C I assign the =
calibration file of the second camera to the first camera=2C and I =
assign the calibration file of the first camera to the second=2E
cam1 -=3E calibration file of second camera
cam2 -=3E calibration file of first camera
That gives me good values for the ARToolkit matrix of the first =
camera=2E=2E=2E=2EStrange=2Cnot=3F
--------------------------------------------------
Now when I draw the cube in the window of the first camera it appears =
ok=2C in the second window it does not=2E=2E=2E=2E =
So now when I draw the image of the second camera in the window of the =
first camera I finally get what I want=2E But I use this call=2E So I use=
=
the image from the second camera=2Cbut the camera parameters and context =
settings from the first camera(actually they are from the second =
camera=2C because I changed the order of the calibration files)=2E =
arglDispImage(
ARUint8 image=5Fsecond=5Fcam=2C
ARParam *cparam=5Ffirst=5Fcam=2C
1=2C
ARGL=5FCONTEXT=5FSETTINGS=5FREF contextSettings=5Ffirst=5FCam)=3B =
-----------------------------------------------------
To conclude=3A what I think is that=3A
1=2EThe order of the calibration files assigned to cameras is not as it =
should be=2C but has changed=2E
2=2EThe order of calibration parameters and context settings is equal to =
the order in which you put the calibration files=2E
-----------------------------------------------------
I don=B4t understand this and I=B4m completely lost=2E Finally I got it t=
o =
do what I want but I
don=B4t have an explanation for it=2E Anybody has some ideas=3F An =
explanation=3F
I don=B4t want to think immediately in bugs=2C but could this be one=3F
In case you want to I can provide you my calibration files=2C matrix =
data and images=2E
|