## 5 Experiments  
The experiment was made up of the hardware parts, as shown in Figure 6, and the software parts. The hardware consisted of fisheye cameras (FE185C057 HA-1, Fujifilm, Tokyo, Japan, 2020) that are installed on the center of the front and rear bumpers of the vehicle, also on the left and right side of the mirrors. The fisheye cameras on the left and right were used for detection and recognition of the parking space, and the fisheye cameras on the front and rear were used for the vehicle to identify potential front and rear obstacles. While the software part consisted of image processing by the on-board computer. The implementation of the software part was done using C++ with Visual Studio (VS2019, Microsoft, Redmond, WA, USA, 2019) as the development environment using OpenCV library (Version 4.1, Intel, Santa Clara, CA, USA, 2019) for image processing.  
Figure 5: (**a**) Similarity transformation of rear angles; (**b**) similarity transformation of front angles.  
In order to verify the effectiveness of the parking space recognition method based on parking space features, 120 QR codes with version number 2 and error correction level H are selected as the template library. Each of them represents the feature of each parking space in the parking lot. After we performing distortion correction and top view transformation on the worn QR code features captured by the fisheye camera, and we perform operations such as rotation and shearing so that the features to be matched are spatially matched with the template. Then we write C++ code to calculate the similarity between the stained QR code and the template in the template library, and select the one with the highest similarity as the output result. The maximum similarity value in this experiment is 89.66%, as shown in Figure 7.  
The results of traditional Hough transform and parking angle recognition based on template matching are shown in Figure 8. As shown in Figure 8a, the traditional Hough transform is susceptible to the interference of a straight line in the background environment, and the left parking space line is not detected due to partial wear. As shown in Figure 8b,  
Figure 6: (**a**) Fisheye cameras on the left; (**b**) fisheye cameras on the right; (**c**) fisheye cameras on the front; (**d**) fisheye cameras on the rear.  
Figure 7: (**a**) Defaced QR code; (**b**) matched QR code.  
the parking angle recognition method based on template matching requires the parking space angle to be complete. Once the parking space angle is worn, it cannot be recognized.  
In order to verify whether the intensity of light will affect the recognition of different types of parking spaces in the actual parking environment, an experiment was carried out. The results are shown in Figure 9. Nevertheless, when the vehicles near the parking space cross the parking lines and the parking space is partially occupied, it was a challenge to identify invalid occupied parking spaces. However, when we experimented with the proposed method of extracting outer contour, the invalid occupied parking spaces could easily be identified, as indicated in Figure 10.  
Figure 8: Recognition results of parking spaces. (**a**) Parking line recognition method based on Hough transform; (**b**) parking angle recognition method based on template matching.  
Figure 9: Recognition results of effective parking spaces. (**a**) Vertical parking space with normal light; (**b**) vertical parking space with low light; (**c**) vertical parking space with strong light; (**d**) tilt parking space with normal light; (**e**) tilt parking space with low light; (**f**) tilt parking space with strong light.  
Table 1 shows the comparison of parking space recognition results.