How can the radial distortion be corrected by given supporting points in order to obtain a linear image?

37 Views Asked by At

Five lasers with fixed angles (0°, 5°, 10°, 15°, 20 °) radiate through an aspherical Fresnel lens and project their non parallel beams onto a diffusing screen (focusing screen). A camera is directed rectangular to the screen. The Installation is shown here. The camera has a resolution of 1388 (H) by 1038 (V) pixels. The image center is therefore located at pixel position x0 = 649 and y0 = 519. The following radial pixel distances to the image center were measured:

  • Laser angle : Pixel distance to the image center
    • 0° : 0
    • 5° : 171
    • 10° : 334
    • 15° : 476
    • 20° : 599

The laser angle is therefore non linear to the pixel distance (Delta: 171, 163, 142, 123).

The non-linearity results from the distortion of the Fresnel lens. This distortion should now be corrected (equalization).

My approach: Scaling the distance of each pixel to the image center (x0 = 649 and y0 = 519), where the scaling factor is the lens function L of the respective distance r to the image center:

  • x' = x0 + L(r)*(x - x0)
  • y' = y0 + L(r)*(y - y0)
  • r² = (x - x0)² + (y - y0)²

x' and y' are the corrected pixel coordinates. The lens function L has the value of 1 for the image center: L(0) = 1.

Now my question: How can I determine the lens function L(r) from the given 5 supporting points (0, 171, 334, 476, 599)?

Please help and post a solution. Thanks in advance.