Ask Your Question
0

Camera Undistortion

asked 2014-02-14 06:02:47 -0600

yamanneameh gravatar image

Hello,

I have the camera calibration Parameters as followings, and it works well for undistortion function, how I can Transfer these parametrs if I changed the angle of camera axes 90 degree to the left or the right?!

uint w= 1040, h= 1392; double disto[5]= { -0.205410121, 0.091357057, 0.000740608, 0.000895488, 0.053117702, };

cv::Mat cameraMatrix;
cv::Mat distCoeffs;
cv::Mat cameraIdeal;
cv::Mat ROTATION(3,3,CV_64F);


ocv_setcam(cameraMatrix, 1286.635225995, 1287.007162383, 520, 730.910560759);
ocv_setcam(cameraIdeal,  1288,           1288,           520,           762);       
vect2ocv(distCoeffs, disto,5);

assert(ROTATION.isContinuous());  
double * R= ((double*) ROTATION.data);

R[0]= 1.0; // col=0 auf row=0
R[1]= 0.0;
R[2]= 0.0;  

R[3]=  0.0;  
R[4]=  1.0; 
R[5]=  0.0;  

R[6]=  0.0;
R[7]=  0.0;  
R[8]=  1.0;
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2014-02-17 11:44:20 -0600

jensenb gravatar image

The distortion parameters are independent from the camera's extrinsic parameters. In other words the distortion parameters do not change if you move the camera around. The only time the distortion parameters change is if you change the lens settings of your camera.

edit flag offensive delete link more

Comments

Thank you for this explaination

yamanneameh gravatar imageyamanneameh ( 2014-02-19 01:08:31 -0600 )edit

Question Tools

Stats

Asked: 2014-02-14 06:02:47 -0600

Seen: 587 times

Last updated: Feb 17 '14