Ich habe Probleme mit einer Verarbeitung und hoffe, dass ich sie hier lösen kann.
Ich arbeite mit Fernerkundung in der Forstwirtschaft, insbesondere mit LiDAR-Daten. Die Idee ist, Scikit-Bild für die Baumkronenerkennung zu verwenden. Da ich neu in Python bin, habe ich einen großen persönlichen Triumph in Betracht gezogen, um Folgendes zu tun:
- Importieren Sie ein CHM (mit matplotlib);
- Führen Sie einen Gauß-Filter aus (mit Scikit-Image-Paket).
- Führen Sie einen Maxima-Filter aus (mit Scikit-Image-Paket).
- Führen Sie den Peak_local_max aus (mit dem Scikit-Image-Paket).
- Zeigen Sie das CHM mit den lokalen Maxima (mit matplotlib);
Nun mein Problem. Wenn ich mit Matplot importiere, verliert das Bild seine geografischen Koordinaten. Die Koordinaten, die ich habe, sind also nur grundlegende Bildkoordinaten (dh 250.312). Was ich brauche, ist, den Wert des Pixels unter den lokalen Maxima-Punkt im Bild (rote Punkte im Bild) zu bekommen. Hier im Forum sah ich einen Mann, der dasselbe fragte ( Pixelwert des GDAL-Rasters unter OGR-Punkt ohne NumPy erhalten? ), Aber er hatte die Punkte bereits in einem Shapefile. In meinem Fall wurden die Punkte mit einem Scikit-Bild berechnet (es ist ein Array mit den Koordinaten jeder Baumkrone). Ich habe also kein Shapefile.
Abschließend möchte ich am Ende eine txt-Datei mit den Koordinaten der einzelnen lokalen Maxima in geografischen Koordinaten, zum Beispiel:
525412 62980123 1150 ...
quelle
Bei einem kurzen Blick auf matplotlib würde ich sagen, dass Sie die Achsenskalen nach dem Import ändern müssen .
quelle
Bitte versuchen Sie es mit folgendem Code. Dies kann verwendet werden, um Bilddaten aus dem Raster zu lesen und verarbeitete Daten in das Raster zu schreiben (.geotiff-Datei).
quelle