CL-EYE SDK Lenscorrection parameter - (SOLVED)
Posted: 30 November 2010 04:51 PM   [ Ignore ]
Member
Avatar
RankRankRank
Total Posts:  76
Joined  2010-08-03

Hey everyone!

I’m back on my project now and was wondering if anyone could explain the lens correction parameters within the SDK

there are three lens correction parameters:

CLEYE_LENSCORRECTION1 [-500, 500]
Correction transforms to correct lens distortion.

CLEYE_LENSCORRECTION2 [-500, 500]
Correction transforms to correct lens distortion.

CLEYE_LENSCORRECTION3 [-500, 500]
Correction transforms to correct lens distortion.

Just wondered how they all work. Ive tried using them in the Multicam SDK sample but cant see much difference of the image (pointed my camera dead onto a chessboard).

any hints would be great.

Excellent work with the Kinect!

-K

EDIT - So i first used CCV to see how in particular the distortion was being corrected as I’d assumed that it was using the same functions. After doing this I took the values over to my code but realised that the lens correction functions only work with images. Been trying to correct the lens distortion, however its still not perfect so I might attempt using different approach (I’m considering using Checker board calibration in OpenCV)

Profile
 
 
Posted: 10 April 2012 12:57 AM   [ Ignore ]   [ # 1 ]
New Member
Rank
Total Posts:  3
Joined  2011-10-10

Hi,
the distortion coefficients works to account for the distortions produced by the lens. To find the distortion coefficients one must first calibrate internally the camera.
The calibration will return also information about the focal length, the center of the CMOS sensor and the pixels aspect ratio. Un-distorting the grabbed frames is as simple as using a openCV function ‘cvRemap’.

This can also be done for selected points on the 2D frame of the image plane (sensor) to avoid undistorting the whole image. Because I remember a post of yours talking about blob detection. For example getting the accurate 3D positions of ping-pong balls using a stereo camera rig, requires to find the centroid of each ball in each camera (from the undistorted frames) then undistort these points (x,y) to account for lens distortion, then triangulate to find the balls 3D coordinates.

For an example in internal calibration and undistortion take a look in:
http://dasl.mem.drexel.edu/~noahKuntz/openCVTut10.html

S.

Profile
 
 
 
 


RSS 2.0     Atom Feed