Saya mencoba mengenali saluran air dari foto udara (katakanlah dari Google Maps). Pemerintah daerah sering memiliki data SIG yang mengatakan di mana saluran air (dan jalan, bangunan dll) berada, tetapi data air di dalamnya seringkali agak tidak akurat, dan kami mungkin dapat memperbaikinya dengan menggunakan citra udara. Jadi kami sudah memiliki beberapa data yang tidak selalu dapat dipercaya.
Saya tahu cara melakukan pemrosesan gambar dasar pada data (sayangnya saya belum memiliki contoh gambar untuk ditampilkan di sini, saya sedang mencoba membayangkan bagaimana saya bisa melakukan ini, belum ada kode yang berfungsi):
Saya dapat mengumpulkan beberapa set nilai warna menggunakan bit waterway dalam gambar, dan mencari tahu piksel mana yang paling dekat dengan warna-warna ini, mungkin juga untuk jenis fitur lainnya (rumput, jalan, bangunan dll). Jika saya menetapkan ambang di mana piksel "cukup dekat", saya mendapatkan satu set piksel yang mungkin saluran air (tetapi akan ada banyak suara).
Saya dapat mengubah gambar menjadi skala abu-abu dan menggunakan algoritme deteksi tepi standar untuk mengetahui di mana tepinya berada. Sekali lagi, ini memberi saya satu set piksel batas seperti, tetapi akan ada kebisingan dan ujung-ujungnya terlalu berpikir dan / atau memiliki celah.
Yang ingin saya miliki sebagai keluaran adalah seperangkat poligon yang menguraikan kemungkinan saluran air.
Secara intuitif saya ingin menggunakan tepi yang terdeteksi untuk membuat poligon, dan informasi warna untuk memutuskan yang mana dari mereka adalah air, mungkin menggunakan data pemerintah yang sudah kita miliki.
Apakah ada cara yang diketahui untuk mendapatkan dari hasil algoritma deteksi tepi ke kumpulan poligon tertutup yang bagus? Atau ada tips lain tentang cara menyerang masalah ini, jika ada cara yang lebih baik?