Hava fotoğraflarından su yollarını tanımaya çalışıyorum (örneğin Google Haritalar'dan). Yerel yönetimler genellikle su yollarının (ve yollar, binalar vb.) Nerede olduğunu söyleyen CBS verilerine sahiptir, ancak bunların içindeki su verileri genellikle biraz yanlıştır ve hava görüntülerini kullanarak bunları iyileştirebiliriz. Bu nedenle, her zaman güvenilmeyecek bazı verilerimiz var.
Veriler üzerinde bazı temel görüntü işleme nasıl yapacağımı biliyorum (ne yazık ki henüz burada göstermek için örnek görüntüler yok, nasıl bunu, henüz hiçbir çalışma kodu nasıl hayal etmeye çalışıyorum):
Resimlerdeki suyolu parçalarını kullanarak bazı renk değerleri kümesini toplayabilirim ve hangi renklerin bu renklere en yakın olduğunu, muhtemelen diğer özellik türleri için (çim, yollar, binalar vb.) Piksellerin "yeterince yakın" olduğu bir eşik ayarlarsam, muhtemelen su yolları olan bir piksel kümesi alırım (ancak çok fazla gürültü olacaktır).
Görüntüyü gri tonlamaya dönüştürebilir ve kenarların nerede olduğunu bulmak için standart bir kenar algılama algoritması kullanabilirim. Yine, bu bana benzer sınırların bir dizi pikselini veriyor, ancak gürültü olacak ve kenarlar çok düşünülecek ve / veya boşluklar olacak.
Çıktı olarak sahip olmak istediğim , olası su yollarını özetleyen bir çokgen kümesi .
Sezgisel olarak, çokgenler oluşturmak için algılanan kenarları ve bunlardan hangisinin su olduğuna karar vermek için renk bilgilerini kullanmak, muhtemelen zaten sahip olduğumuz hükümet verilerini kullanmak istiyorum.
Bir kenar algılama algoritmasının sonucundan güzel bir kapalı çokgen setine ulaşmanın bilinen bir yolu var mı? Ya da daha iyi bir yol varsa, bu soruna nasıl saldıracağınıza dair başka ipuçları var mı?