Generally speaking there are a number of methods for calibrating camera(s) but since it seems that is the first time for you to perform such a task my suggestion is to calibrate camera(s) using the "matlab camera calibration toolbox" (if you use such a software for developing your codes). You can find instructions on how to proceed and to determine the camera parameters including matrix K directly in the download page. Please note that pixel size, center and focal distance are given by the manufacturer but you need in any case to recalculate them!
So if you are sure to have the proper values for focal length and CCD centre you can evaluate K matrix directly from the data provided by manufacturer.
Unfortunately lens distortion are not always provided by manufacturer (except for low distortion lenses). So this is one of the reasons why you need to calibrate.
Moreover in my tests (I have made a huge number of test for stereo-vision), two industrial cameras (same model uEye) provided with the same kind of lens resulted to be characterized by (slightly) different focal length and CCD centres.
It depends on the precision you need. If you perform a 3D acquisition for photogrammetric measures, you may need in any case to take into account the unavoidable small differences between cameras, even of the same model.
If your aim is to roughly reconstruct a 3D object (or in the 2D space to acquire a rectified image without the need of high precision) you can refer to manufacturer data!
[If your aim is to roughly reconstruct a 3D object (or in the 2D space to acquire a rectified image without the need of high precision) you can refer to manufacturer data! ]
and
[the same kind of lens resulted to be characterized by (slightly) different focal length and CCD centres]. for precision measure.
thus, we need cab again for the popurse. But people always says that on certain site, we have no fitable conditions to cab a camera, Why?
we can not get a long distance to measure directly its distance, but there is nothing to do with internal param.
anyway, we can cab its internal parameter at a suitable place and good conditions.
I suggest you to view the "matlab camera calibration toolbox" carefully and most of your questions could be answered. Meanwhile, you should consider the pracrical conditions under different situations. For example, for a zoom lens, the calibration will make little sense, so we often adopt a approximate model. But for an industrial lens, we would better to do the calibration.
See "matlab camera calibration toolbox", there is a reprojective error(could be about 0.1 pixel) which denotes some tasks' precision. If you do not do calibration, you can use the approxiamte vaules of intrinsic parameters provided by manufacture to compute reprojective error in this toolbox. In my opinion, if it is less than 1 pixel, you indeed do not need cal. I also suggest you see the description carefully and do some simple real experiments. Then your question can be answered by youself.
Hi, Jek. your question actually arose from your statement "They are all fixed by manufacture(except zoom, as well) and measured by accurate optical methods."
If any manufacture has no error or noise, all measurement will make no sense. Thus the key problem is how much the error is? The lens is a precision instrument. Thus there may be a error of 1% or 2% to focal length. Pricipal point is in a similar way. Moreover, we should consider a practical product deviate to the physical model. Therefore sometimes from statistical meaning, we need computer intrinsic parameters again to minimize the reprojective error.
No matter how much errors get out of manufacture, It must be tolerable in practical measurement for its strictly gauge in the factory.
Any calibration on the site can not match this accurate measure..same to centre point. must be corrected before going to shop. otherwise, the products will be not allowed to leave the factory according to QC.
I thnk it must be lost or after long time running, then need to calibrate it again. any way we have no such gauge like factory has. thus this calib way was put up.
I was also amazed when read many acticles saying that in certain tough circumstance, for example, can not reach the goal place etc. self-calib is a good choice for define the intrinsic params.
why? equipment is in your hands, you can calib it any time any way. why don't you prepare it at right place in order to use on site?
if uyou say calib extrinsic parameters on the site, I think it must be a positive way.
OpenCV has extensive camera calibration functions with checkerboards or with dot patterns. Can call it through python or C++, Matlab coming soon. http://opencv.org/ or http://code.opencv.org/projects/opencv/wiki
This is a really reason, if we are despatched on the site in haste, if we would have forgetten to bring the data with us, if we would have required the result on the spot, we would have to do like that.
But all that is under if, the lens we used is most likely professional one, and this is very different from civil ones, which will have not calibated or corrected in the factory precisely.
This confused me so far. I accept that calibation on the site is an effective measure, despite it is not as same accuracy as that calibated in the factory.
I convince myself that all we do is for zoom lens not for fixed one.
Any way, calib extrinsic parameters are often necessary.I can understand.