Saya berjuang dengan pemrosesan dan mudah-mudahan saya akan bisa menyelesaikannya di sini.
Saya bekerja dengan Penginderaan Jauh diterapkan pada Kehutanan, terutama bekerja dengan data LiDAR. Idenya adalah menggunakan Scikit-image untuk deteksi puncak pohon. Karena saya baru menggunakan Python, saya menganggap kemenangan pribadi yang hebat untuk melakukan hal berikut:
- Impor CHM (dengan matplotlib);
- Jalankan filter gaussian (dengan paket scikit-image);
- Jalankan filter maksimal (dengan paket scikit-image);
- Jalankan peak_local_max (dengan paket scikit-image);
- Tunjukkan CHM dengan maxima lokal (dengan matplotlib);
Sekarang masalah saya. Ketika saya mengimpor dengan matplot, gambar kehilangan koordinat geografisnya. Jadi koordinat yang saya miliki hanyalah koordinat gambar dasar (yaitu 250.312). Yang saya butuhkan adalah untuk mendapatkan nilai pixel di bawah maxima dot lokal pada gambar (titik-titik merah pada gambar). Di sini, di forum saya melihat seorang pria menanyakan hal yang sama ( Mendapatkan nilai piksel raster GDAL di bawah titik OGR tanpa NumPy? ), Tetapi ia sudah memiliki poin di shapefile. Dalam kasus saya, titik dihitung dengan scikit-image (Ini adalah array dengan koordinat dari masing-masing tree top). Jadi saya tidak punya shapefile.
Kesimpulannya, yang saya inginkan pada akhirnya adalah file txt dengan koordinat masing-masing maxima lokal dalam koordinat geografis, misalnya:
525412 62980123 1150 ...
sumber
Dari sekilas matplotlib, saya akan mengatakan Anda harus mengubah skala sumbu setelah impor.
sumber
Silakan coba dengan kode berikut. Ini dapat digunakan untuk membaca data gambar dari raster dan menulis data yang diproses ke raster (file .geotiff).
sumber