## 2 Methodology to Generate a Synthetic Image
### Densifying Point Cloud  
When Step 3 is applied to all points of the cloud, a photogrammetric model is generated. The generated images will be similar to pictures shown in Figure 6.  
In Figure 6, we can see that there is an insufficient number points to visualize the images in the digital photogrammetric station using photogrammetric software. This obvious lack of quality is due to the fact that the point cloud used is not a regular mesh. In other words, the density of points per  
Figure 6: Synthetic model of intensity generated for a LiDAR point cloud.  
square meter is not constant throughout the cloud and the points are not well-distributed. There are points on the ground that correspond to the same pixel in the images despite having different intensity levels. In this case, we discard all except one and we consider this digital value as the mean value of intensity level.  
To resolve this issue and to obtain a well-distributed and uniform cloud of points, we could use a \"nearest neighbor\" type of algorithm in both images. With this algorithm, we could fill the areas with no points and we could create new points using the intensity level of neighbors. In our case, this is impossible because we would lose 3D vision as it would become noise in the digital image. The reason for this can be easily understood by analyzing Figure 4. If we create a new point \(P_{0}^{h}\) in \(I_{o}\) using the nearest neighbor algorithm, the next stage would be to find this point (\(P_{1}^{h}\)) in image \(I_{1}\) and assign the same digital value to it. However, this is not possible because we do not know the position of \(P_{0}^{h}\) in the terrain, so that it is impossible for us to find the homologous point in \(I_{1}\) and 3D vision requires the same point in both images (\(P_{0}^{h}\) and \(P_{1}^{h}\)) The reconstruction of ray \(Ry_{1}\) is not available and, therefore, point \(P_{1}^{h}\) cannot be obtained.  
The solution for this issue is to densify the initial point cloud \(N\) by adding new points as follows:  
* First of all, we must find all these zones so we used the software to automatically find all pixels with no value in both synthetic images (left and right).
* We selected a zone with no points in the left image called \(H_{0}\) with \(k\) neighbor pixels in this image (once we complete the process with the left image, we apply the same process to the right image) with pixel coordinates \((COL_{k},\ ROW_{k})\) and intensity level \(IL_{k}\). Following this, we obtained the ground coordinates \((X_{k},Y_{k},\ Z_{k})\) for all \(k\) points, which are previously calculated in the process of generating the synthetic image as there is one unique correspondence between all points in the cloud, all points in image \(I_{o}\) and all points in image \(I_{1}\). Following this, we created a new point \(P_{h}\) (in the center of all \(k\) points) with ground coordinates \((X_{h},Y_{h},Z_{h})\) and intensity level \(IL_{h}\), using the mean intensity level of all \(k\) points for digital value of intensity. After this, we have the new point \(P_{h}\), and, then, we can obtain pixel coordinates in both images \(I_{0}\) and \(I_{1}\). We repeated this process as many times as necessary to get a well-distributed point cloud. The point cloud \(N\) has a new point called \(P_{h}\) and the synthetic images are generated again with the initial point cloud in addition to the set of interpolated points created. Obviously, the holes are filled in both images.  
The result obtained after completing this process in the images is shown in Figure 7. As you can see, the images of Figure 7 appear to be denser compared to the images of Figure 6.  
Figure 7: Synthetic model of intensity generated and densified for a LiDAR point cloud.