I need some algorithm for distortion processing

1 view (last 30 days)
My problem is: I have a set of 4 points O, A, B, C locating on a surface. Due to distortion of that surface, the points A, B, C are moved to new positions which are A', B', C'. Now I want to find new position of O that satisfies root mean square error (RMSE) of two sets of distances (O'A', O'B', O'C', O'O) and (OA, OB, OC, OO) is minimal. Dose anyone know which algorithm can solve my problem? Thank you!

Accepted Answer

Image Analyst
Image Analyst on 1 Dec 2015
That's not distortion in the true optical sense. Distortion is where the distance the point moves is proportional to the cube of the distance from the optic axis, and it's radial, which is quite unlike what you have. You have some arbitrary warping of the image. Try imwarp() or related functions.

More Answers (1)

Dan Do
Dan Do on 2 Dec 2015
Thank you for your answer, but it is not exactly what I need. I mean O, A, B, C are points on a plane specified by their coordinates (they are not pixels). Being effected by something, A, B, C are moved to new positions with different movements, I want to find new position O' of O, so that the change in struct of the set of 4 points is the least. It means RMSE of the two set (O'A', O'B', O'C', OO') and (OA, OB, OC, OO) is minimal. So could you suggest me some ALGORITHM for doing that, thank you!
  1 Comment
Image Analyst
Image Analyst on 2 Dec 2015
Well obviously if the new position O' is the same as O, that would give the least possible RMSE you could get.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!