Figure 6.29 and 6.30 - Airport runway detection
The Figs. 6.29 and 6.30. The steps used to detect the airport runways are below.
Image reading - The gray-scale aerial airport image is read (a).
Runways enhancing - The top-hat is used to detect the runways as they are thin features (b). The disk of radius 5 (diameter 11) is chosen to detect features smaller than this size. For visualization, the top-hat image is brightened by 150 gray-levels (c).
Thresholding - A thresholding is applied to detect the features enhanced by the top-hat (d). This is a standard top-hat sequence.
Thinning and area open - The thinning is used, as runways are long thin structures, to characterize the runways structure (e). The area open selects only very long features, with more than 1000 pixels (f). Note that an 8-neighborhood is used for the area open as the skeleton obtained from mmthin is 8-connected.
Reconstruction - The previous result is a sample of the runway pixels. It is used as a marker for gray-scale morphological reconstruction. The runways are enhanced in the reconstructed image (g).
Final thresholding A thresholding is applied to the reconstructed image, detecting the airport runways (h). For visualization purposes, the result is overlaid on the original (i).
1 import ia870 as MT 2 3 a = adreadgray('galeao.jpg') 4 a = a[9:-70,29:-130] 5 b = MT.iaopenth(a,MT.iasedisk(5)) 6 c = MT.iaaddm(b, 180) 7 d = MT.iathreshad(b,30) 8 e = MT.iathin(d) 9 f = MT.iaareaopen(e, 1000,MT.iasebox()) 10 g = MT.iainfrec(MT.iagray(f), b) 11 h = MT.iathreshad(g, 20) 12 i = MT.iaunion(a,MT.iagray(h)) 13 14 adshow(a,'(a) Grayscale aerial airport image') 15 adshow(b,'(b) Top-hat is used to detect the runways') 16 adshow(c,'(c) Top-hat image is brightened by 150') 17 adshow(MT.iapad(MT.ianeg(d)),'(d) Thresholding applied to detect features enhanced by top-hat') 18 adshow(MT.iapad(MT.ianeg(e)),'(e) Thinning is used to characterize runways structures') 19 adshow(MT.iapad(MT.ianeg(f)),'(f) Area open selects only very long features') 20 adshow(g,'(g) Morphological reconstruction') 21 adshow(h,'(h) Thresholding detecting airport runways') 22 adshow(i,'(i) Result overlaid on the original image')