Tutto dipende da dove si disegna la linea. Indipendentemente da ciò, questo problema sembra che possa essere prontamente risolto utilizzando le funzioni morfologiche disponibili in Analista spaziale, in particolare il limite (eseguito con "<" e ">" operazioni locali) e "RegionGroup" per identificare ed estrarre componenti.
Anche se non ho accesso al DEM per illustrare, la prima immagine è quasi abbastanza buona per fare comunque il lavoro. Ad esempio, ecco una sequenza di versioni raggruppate per regione della banda rossa (con valori scalati da 0,0 = nero a 1,0 = bianco), a partire da una soglia di 0 e spostandosi da sinistra a destra, dall'alto verso il basso, con incrementi di 0,02:
(Queste immagini sono state ridotte per la riproduzione qui: tutte le analisi sono state fatte alla risoluzione dell'immagine originale.)
Le dighe emergono attorno al confine della regione nera all'inizio della seconda fila (soglia = 0,08). All'inizio della terza fila (soglia = 0,16) le dighe formano i propri componenti (in blu scuro) e a quel punto possono essere prontamente estratte come griglie o poligoni separati (e i loro confini possono essere estratti come polilinee dopo una fase di rilevamento dei bordi ). Rimangono solo le dighe più larghe nell'ultima riga (soglia = 0,24 e maggiore). Dovrai selezionare una soglia appropriata per ottenere esattamente ciò che desideri.
Nella DEM originale, i prospetti svolgono il ruolo di intensità, quindi queste procedure dovrebbero essere altrettanto efficaci con la DEM stessa. Se il DEM ha una grande estensione (comprese le caratteristiche lontane dal fiume o dalle dighe), le caratteristiche pertinenti possono essere selezionate come quelle adiacenti al componente in cui si trova la caratteristica del fiume.
Le regioni indesiderate sottili rilevate da RegionGroup possono essere eliminate applicando una piccola erosione (tampone negativo) seguita da una dilatazione equivalente (tampone positivo). Piccole regioni indesiderate possono essere escluse in base a un criterio di dimensione (numero totale di celle o area). I punti più alti su ogni diga (se è quello che è veramente necessario) possono essere trovati confrontando il DEM con griglie massime zonali (usando le dighe come zone).
Per inciso, questa sequenza di immagini è stata prodotta in Mathematica 8. Ecco i comandi per coloro che potrebbero voler perseguire questa opzione.
original = Import["http://i.stack.imgur.com/gV7Du.jpg"];
{r, g, b} = ColorSeparate[original];
frames = ParallelTable[Colorize[MorphologicalComponents[Binarize[r, t/100]],
ColorFunction -> "ThermometerColors"], {t, 0, 30, 2}];
Rasterize @ TableForm[Partition[frames, 4]]
Il tempo totale di clock (dopo aver importato l'immagine) è stato di 0,94 secondi, di cui metà era necessaria per ridurre ed esportare tutte le 16 immagini: le operazioni morfologiche tendono ad essere veloci (il che è positivo, perché i DEM LIDAR possono essere enormi).