OpenCV Q&A Forum - RSS feedhttp://answers.opencv.org/questions/OpenCV answersenCopyright <a href="http://www.opencv.org">OpenCV foundation</a>, 2012-2018.Wed, 09 Apr 2014 08:37:31 -0500The coordinate system of pinhole camera modelhttp://answers.opencv.org/question/31470/the-coordinate-system-of-pinhole-camera-model/Recently, I have been studying the pinhole camera model for several days but I was confused with the model provided by OpenCV and "Multiple View geometry in computer vision" which is a famous textbook.
I know that the following photo is a simplified model which switches the position of the image plane and the camera frame. Basically,for better illustration and understanding and Taking consideration of the principal point (u0,v0), the relation between two frames is
x=f(X/Z)+u0 and
y=f(Y/Z)+vo.
![image description](/upfiles/1397050375379081.png)
However,I was really confused because normally the image coordinate is in the form of the 4th quadrant coordinate as the following one!
Could I directly substitute the (x,y) in the following definition to the above "equivalent" pinhole model which is not really persuasive?
![image description](/upfiles/13970504447802913.gif)
Besides, If an object is in the region (+X,+Y) quadrant in the camera coordinate (of course, Z>f), in the equivalent model, it should appear on the right-half plane of the image coordinate. However, such object in the image taken by a normal camera, it is supposed to be located on the left-half. Therefore, for me this model is not reasonable.
Finally, I tried to derive based on the original model as the following one.
![image description](/upfiles/13970504813232063.png)
The result is
x1=-f(X/Z) and
y1=-f(Y/Z). Then, I tried to find the relation between (x2,y2)-coordinate and the camera coordinate. The result is
x2=-f(X/Z)+u0 and
y2=-f(Y/Z)+vo.
Between (x3,y3)-coordinate and the camera coordinate, the result is
x3=-f(X/Z)+u0 and
y3=f(Y/Z)+vo.
no matter which coordinate system i tried, none of them is in the form of
x=f(X/Z)+u0 and
y=f(Y/Z)+vo, which are provided by some CV textbooks.
Besides, the projection results on (x2,y2)-coordinate or (x3,y3)-coordinate are also not reasonable because of the same reason- an object in the (+X,+Y,+Z) region in the camera coordinate should "appear" on the left-half plane of the image taken by a camera.
Could anyone indicate what I was misunderstood with and I will try to derive several times more and post the answer when someone else help me figure this issue out.
Thank you in advance!!
AlexAlexofNTUWed, 09 Apr 2014 08:37:31 -0500http://answers.opencv.org/question/31470/Can we find Camera matrix, without calibration?http://answers.opencv.org/question/14731/can-we-find-camera-matrix-without-calibration/Hi,
I would like to know if it is possible to know the camera calibration matrix anyhow , just by knowing it's specifications , without using camera calibration???newbie111Thu, 06 Jun 2013 01:27:52 -0500http://answers.opencv.org/question/14731/Results of camera calibration varyhttp://answers.opencv.org/question/7554/results-of-camera-calibration-vary/Hi,
I have a problem during camera calibration using chess board. I'm using C++ calibrateCamera method to find out the intrinsic matrix. The problem is the fx, fy are varying from 700 to 1100 depending on the distance from camera the cx, cy vary as well. My question is, can it be caused by poor camera quality(using some no-name webcam with resolution 640x480). **Can this poor resolution be the only problem**??
I need to have really accurate intrinsic matrix and in this case it seems I will need to calculate it by myself:(
Just to be sure for webcam with fixed focus length, the intrinsic matrix should be always the same isn't right???
Thanks for clarification.
MartinMartinSun, 17 Feb 2013 14:18:26 -0600http://answers.opencv.org/question/7554/