Skip to main content
. 2023 Apr 21;23(8):4167. doi: 10.3390/s23084167
Algorithm 1 Lidar point coordinates xl,yl,zl
1: procedure
2:     •Get the u,v undirstorted point in pixel coordinates.
3:     function UndirstortPoint(x,y)
4:         uux
5:         vuy
6:         return uu,vu
7:     end function
8:     •Get the directional vector in the camera frame.
9:     function DirectionalVector(uu,vu)
10:         uduu
11:         vdvu
12:         wd1
13:         return ud,vd,wd
14:     end function
15:     •Get the directional vector in the lidar frame.
16:     function Camera2LidaRotation(ud,vd,wd)
17:         ulvlwlclRudvdwdT
18:         return ul,vl,wl
19:     end function
20:     •Compute the intersection point between a line and a plane.
21:     function PlaneLineCrossingPoint(ul,vl,wlPCl)
22:         u[ul,vl,wl] ▷ creates the u vector
23:         Ax+By+Cz+D=0PCl ▷ board’s parallel plane model
24:         n[A,B,C] ▷ plane normal vector
25:         vo[A,B,C,D] ▷ a point in the model plane
26:         poclt ▷ translation vector from camera to lidar
27:         wpovo
28:         Dn·u ▷ dot product
29:         Nn·w ▷ dot product
30:         slND
31:         ppo+sl×u ▷ intersection point
32:         return p
33:     end function
34: end procedure