Suite

Méthodes de traitement raster appropriées pour extraire les limites de champ des images


J'essaie d'extraire les limites et les caractéristiques des champs à partir de nombreuses images aériennes de terres agricoles - et d'éviter de numériser ces caractéristiques manuellement. J'ai réussi à obtenir un fichier raster brut des fonctionnalités que je veux en manipulant les valeurs de couleur de seuil dans GIMP et en géocodant le .tif résultant dans QGIS.

Les neuf grandes lignes de contour sont ce que je veux extraire (et nettoyer un peu) mais plus important encore, je veux supprimer le bruit distribué de manière aléatoire vu au milieu des champs. Après avoir nettoyé l'image, je prévois de la convertir en vecteur et de découper la limite de la ferme existante avec.

Je ne sais pas comment traiter ces données ?

J'ai à la fois QGIS 2.8.1 et GRASS 7 disponibles.


Je ne sais pas si cela fonctionnera sans essayer votre raster spécifique, mais quelques pointeurs. Je suppose d'après votre image que vous avez utilisé Threshold dans GIMP pour vous donner un raster binaire (champ intérieur/champ extérieur)

Suppression du bruit

Vous pouvez utiliser Tamis GDAL pour supprimer le bruit de « sel et poivre » - ces petits trous dans les champs.

Vous pouvez le faire à partir de QGIS (Raster > Analyse > Tamis). Cela devrait remplir tous les "trous" (plus petits qu'une zone que vous spécifiez) avec la valeur de la zone raster environnante. Si vous avez de la chance et que vous devinez bien la zone minimale, cela pourrait également éliminer le bruit dans les espaces entre les champs.

Utiliser QGIS pour obtenir des arêtes

En fonction du succès et de la qualité du choix des paramètres de tamisage, vous pourrez peut-être convertir le raster sans bruit directement en polygones. Il semble y avoir beaucoup de bruit dans les espaces entre les champs, il y a donc de fortes chances que vous vous retrouviez avec des champs réunis.

Utiliser SAGA pour obtenir des bords

Si vous obtenez une image sans bruit raisonnablement propre de Sieve

SAGA GIS dispose d'un filtre de connectivité raster (Grille > Filtre > Analyse de connectivité). Cela donnera deux sorties

  • un raster, chaque zone contiguë de pixels étant dotée de son propre identifiant
  • un fichier de formes avec la limite de chaque zone contiguë de pixels

Utiliser GIMP pour obtenir des bords

GIMP dispose d'un certain nombre de filtres de suppression de bruit et de contours (par exemple, Sobel, Difference of Guassians, etc.), vous pouvez également les essayer.

Post-traitement

Vous devrez peut-être également simplifier les géométries pour vous débarrasser des « escaliers » (les bords des polygones traceront des limites de pixels arrondies)


Steven a déjà partagé une très bonne visite guidée !
Je veux juste ajouter que vous pouvez également utiliser le QGIS LecoS plugin (nécessite une installation active de numpy/scipy dans votre chemin QGIS) à cette fin. Spécialement pour le nettoyage de base des trames et l'extraction des bords. LecoS dispose depuis un certain temps d'un modificateur de paysage, qui applique les capacités d'érosion de scipy sur les matrices d'images raster.

Exemple:
Couverture boisée extraite des données satellitaires avant de supprimer les petits pixels
Woodland après suppression du bruit de pixel plus petit, remplissage des trous et augmentation des restes

LecoS peut itérativement (par exemple dans un modèle de traitement QGIS) nettoyer les petits pixels dans les patchs, fermer les trous, augmenter ou diminuer tous les patchs d'un certain nombre de pixels, isoler le patch le plus grand ou le plus petit et également extraire les bords des patchs.


Voir la vidéo: Merging Raster Layers using QGIS 3 (Octobre 2021).