I'm working on Radial Distortion Correction:
I'm having an Equation in the form:
$$ r= r'((1+ K1.r'^2+ K2.r'^4+ K3.r'^6)/(1+ K4.r'^2+ K5.r'^4+ K6.r'^6)) $$
How can i solve for K1,K2,K3,K4,K5 & K6?
Note: r,r' are known variables
Std. Equation of Radial distortion will be in this form:
$$ r= r'(1+ K1.r'^2+ K2.r'^4+ K3.r'^6) $$
I solve this equation like this:
$$ (r- r')= K1.r'^3+ K2.r'^5+ K3.r'^7 $$ Linear Fit the above values to solve for K1,K2 & K3. But i'm not sure how to solve the above equation! Any help is much appreciated!
If $K4r'^2, K5r'^4, K6r'^6$ are all small compared to $1$ you can write $$(1+ K1.r'^2+ K2.r'^4+ K3.r'^6)/(1+ K4.r'^2+ K5.r'^4+ K6.r'^6)\approx \\1+(K1-K4)r'^2+(K2-K5)r'^4+(K3-K6)r'^6$$ and your new parameters are redundant. You need enough range in $r'$ to tell the new ones from the old ones.
Assuming you have good enough data to tell the new ones from the old ones, you need a nonlinear function minimizing program. These do not give you a direct solution, rather they approach it by steps. Your Std. Equation of Radial distortion is linear in the parameters $K1, K2, K3$ so you can find them by using the normal equations to get a least squares fit. Your modified form is not linear in the parameters, so you need to go to an iterative solution any numerical analysis text can help you.