# Semi-Automatic Method of Extracting Road Networks from High-Resolution Remote-Sensing Images
## 2 Materials and Methods
### Methodology
#### 2.2.1 Interactive Single-Road Extraction  
Image Road Skeleton Extraction  
To obtain a complete road skeleton from high-resolution images, considering the glitches, holes, and interruptions that may be encountered during the extraction process, we use regional growth, morphological closing operations, and thinning algorithms to extract roads. To improve the accuracy and efficiency of road extraction, the spectral and geometric characteristics of roads are considered. We determine the implementation area of the algorithm according to the road width, thereby avoiding the problem of excessive growth. Figure 2: Road network extraction flow chart. For the purpose of obtaining the road width, we first perform regional growth in a local area to obtain one segment with parallel edges. The operation of regional growth can be described as follows: first, select a certain pixel on the road as the growing point. Especially, for road width determination, the growing point should be located on a road segment without glitches, holes, or interruptions. Next, compare the grayscale of the growing point with its eight neighborhoods. Finally, combine the neighbor pixels meeting the merge threshold requirements with growing point and set it as a new growing point until no new pixels are combined. Regional growth has a simple rule, high calculating speed and interactivity, which is suitable for road extraction requirements. The road width L is defined in meters by calculating the minimum distance between the edges of the local road segment. Then, several seed points are selected manually on the road from one end to the other, and a working area of the regional growth algorithm is limited by a buffer algorithm with the line of seed points as the central axis. When selecting seed points, we only need to ensure that the working area can cover the whole road. As shown in Figure 3a, the seed points are in red and the green border delineates the working area. Then, the operations of regional growth and morphological processing are performed in the working area. To extract one long road at a time, we use the strategy of growing multiple seed points simultaneously. This method has the advantages of simple rules and a high calculation speed. The regional growth results are shown in Figure 3b, and a relatively complete road can be extracted. However, there are burrs and rough areas on the edges of the generated roads due to the pixel-by-pixel processing of the regional growth algorithm; there are also many holes inside the road, which are caused by incomplete growth due to shadows, occlusions, etc. Therefore, further optimization of the regional growth results is needed. To minimize the errors of holes and fragmented growth, this method adopts the morphological closing operation, which is most commonly used for trimming edges and filling gaps, to optimize the initial extraction results. The morphological closing operation [12] is defined as follows:  
\[\mathrm{A}\cdot\mathrm{B}=(\mathrm{A}\oplus\mathrm{B})\ominus\mathrm{B}, \tag{1}\]  
In the formula, the operator \(\cdot\) denotes the closing operation, A represents the binary image, and B represents the structural elements. The symbols \(\oplus\) and \(\ominus\) denote the expansion and corrosion operators, respectively. Figure 3c shows the result of the morphological closing operation. The road skeleton is the basis for generating the road network. Therefore, we use a morphological thinning algorithm to skeletonize the previously extracted roads. By progressively stripping the road pixels, only a single-pixel-width skeleton is left to maintain connectivity. The Zhang-Suen parallel algorithm [47] is used for refinement. Because of its low number of iterations and high speed, it has superior thinning ability at intersections  
Figure 3: Road skeleton extraction: (**a**) test image, where seed points are shown in red; (**b**) regional growth result; (**c**) closing operation result; (**d**) thinning result. and is widely used in the field of image thinning [3; 12; 48].