[Robotics] Camera calibration parameters

Benoit Bolsee benoit.bolsee at online.be
Wed May 12 18:24:29 CEST 2010


Hi Simon,

You got the point I think.  If you want to have the physical pixel size,
it is easily computed with

pixSize_u = near * 32.0/lens/capsize[0]

Which means that the focal distance is camera.near if I insert this
value in your a_u formula.

Camera.near is the distance from the camera position of the projection
plane where the pixels are formed. For a real camera, that's where the
CCD plane would be.  I guess it makes sense to call it the focal
distance.



> -----Original Message-----
> From: robotics-bounces at blender.org 
> [mailto:robotics-bounces at blender.org] On Behalf Of Simon Lacroix
> Sent: mercredi 12 mai 2010 17:59
> To: Blender and Robotics
> Subject: Re: [Robotics] Camera calibration parameters
> 
> 
> 	Benoit,
> 
> Thanks for the information, it answers our question !
> To make things clear:  the 'pixsize' as defined by your 
> formula is the  
> size of the scene element corresponding to one pixel in the image,  
> whereas the pixel size Gilberto was originally referring to is "the  
> size of one pixel of the image plane", i.e. of a CCD / Cmos imaging  
> device.
> 
> The clue we were missing is the following :
> 
> On 11 mai 10, at 20:55, Benoit Bolsee wrote:
> > [...]
> > The lens attribute is a value that represents the
> > distance in Blender unit at which the largest image 
> dimension is 32.0 
> > Blender units.
> 
> Explanation: the intrinsic calibration matrix K of a camera is :
> 
> (a_u	0		u_c)
> (0		a_v		v_c)
> (0		0		1)
> 
> This matrix transforms a 3D point P(X,Y,Z) in the 3D camera 
> frame to a  
> 2D point p(u,v) in the image plane in pixel coordinates: u = KP (see  
> e.g. http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/ 
> LECT9 for frame and notation conventions, but this is not necessary  
> here).
> 
> (u_0, v_0) represent the intersection of the optical axis with the  
> image plane in pixels coordinate (for a Blender "ideal" camera, they  
> are capsize[0]/2 and capsize[1]/2).
> (a_u, a_v) represent the focal length expressed in pixels : 
> a_u = f /  
> pixSize_u, where pixSize_u is the length of the physical 
> pixel of the  
> imaging device according to the u image direction, and f is the lens  
> focal length.
> 
> Now that we know the meaning of the attribute 'lens', we can compute  
> a_[u|v]:
> a_u = capsize[0] . lens / 32.0
> (and we have to consider the aspect ratio if it makes non-square  
> pixels).
> 
> Simon
> 
> 
> 
> >
> >> -----Original Message-----
> >> From: robotics-bounces at blender.org 
> >> [mailto:robotics-bounces at blender.org] On Behalf Of Gilberto
> >> Echeverria
> >> Sent: mardi 11 mai 2010 16:03
> >> To: robotics at blender.org
> >> Subject: Re: [Robotics] Camera calibration parameters
> >>
> >>
> >> Thanks for the suggestions. It would indeed be strange to 
> calibrate 
> >> the camera in the simulation. We expected to avoid this step
> >> inside Blender,
> >> since the data required should be already defined and exist
> >> somewhere in
> >> Blender. The focal length seems to be a modifiable property of the
> >> camera object in Blender, but the image size is still evading
> >> us. For the moment we'll try to estimate this measurement
> >> from the pattern
> >> image.
> >>
> >> Thanks.
> >> Gilberto
> >>
> >>
> >> On 05/11/2010 03:28 PM, Paul Fitzpatrick wrote:
> >>> Another (somewhat strange, but fun) method would be to run
> >> a standard
> >>> calibration program (e.g. from OpenCV).  You'd need to 
> make a plane 
> >>> with a pattern like this on it:
> >>>
> >> http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/pattern.pdf
> >>> Then light it, animate it moving around, record several
> >> views from the
> >>> camera, and run the calibration program.
> >>>
> >>> Cheers,
> >>> Paul
> >>>
> >>> On 05/11/2010 06:41 AM, koen buys wrote:
> >>>
> >>>> Hi Gilberto,
> >>>>
> >>>> I once figured this out in a previous version of 
> blender. Together 
> >>>> with Herve Legrand. I will forward you our experiments
> >> back then. You
> >>>> need both the intrinsic and the external calibration matrix. The 
> >>>> external should be fairly easy to find. The internal one 
> was more 
> >>>> difficult. I hope they didn't change the API of that part.
> >>>>
> >>>> Best regards,
> >>>>
> >>>> Koen Buys
> >>>>
> >>>>
> >>>> On 11 May 2010 11:14, Gilberto
> >> Echeverria<gilberto.echeverria at laas.fr
> >>>> <mailto:gilberto.echeverria at laas.fr>>  wrote:
> >>>>
> >>>>     Hello everyone,
> >>>>
> >>>>     As part of the Open Robots Simulator (now called
> >> MORSE), we are now
> >>>>     connecting Blender with other robotics software
> >> modules that do the
> >>>>     processing of the data sent by the simulation. In the case of
> >>>>     image data
> >>>>     from a camera, these modules expect the image to have
> >> an associated
> >>>>     calibration matrix.
> >>>>
> >>>>     The calibration matrix is composed with the focal
> >> point, the focal
> >>>>     length and the dimensions of the acquired image as a
> >> number of pixels
> >>>>     per unit of distance. For the simulated camera in
> >> Blender, we can
> >>>>     consider the focal point to be (0,0). For the other
> >> two parameters we
> >>>>     have been unable to find the data in Blender. We are
> >> using the Blender
> >>>>     camera object and the VideoTexture module to generate
> >> captured images.
> >>>>     Does anyone know where this information could be found in 
> >>>> Blender?
> >>>>
> >>>>     Best regards
> >>>>
> >>>>     Gilberto
> >>>>     _______________________________________________
> >>>>     Robotics mailing list
> >>>>     Robotics at blender.org<mailto:Robotics at blender.org>
> >>>>     http://lists.blender.org/mailman/listinfo/robotics
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Robotics mailing list
> >>>> Robotics at blender.org 
> >>>> http://lists.blender.org/mailman/listinfo/robotics
> >>>>
> >>>>
> >>> _______________________________________________
> >>> Robotics mailing list
> >>> Robotics at blender.org 
> >>> http://lists.blender.org/mailman/listinfo/robotics
> >>>
> >>
> >> _______________________________________________
> >> Robotics mailing list
> >> Robotics at blender.org 
> http://lists.blender.org/mailman/listinfo/robo> > 
> >> tics
> >>
> >
> 
> > 
> _______________________________________________
> > Robotics mailing list
> > Robotics at blender.org 
> > http://lists.blender.org/mailman/listinfo/robotics
> 
> _______________________________________________
> Robotics mailing list
> Robotics at blender.org 
> http://lists.blender.org/mailman/listinfo/robo> tics
> 



More information about the Robotics mailing list