Estrazione di una singola banda da file multi banda (RGB) con Python

vins_26

Nuovo Utente
3 Mar 2019
1
0
1
Ciao sono Vincenzo e sono un neofita dell'ambiente Python, volevo chiedervi un consiglio in merito ad uno script che sto cercando di eseguire, nello specifico riguarda:

1) Selezione di tutti i file all'interno di una cartella (file raster RGB)
2) Estrazione di una sola banda da ogni file
3) Salvare i file a singola banda in una nuova cartella

Finora cercando in rete e nei vari blog ho trovato poche info e molta confusione, ma ho elaborato uno script che recita nel seguente modo:

import sys, os

output = "C:\..."

layers =[layer for layer in QgsProject.instance().mapLayers().values()]

for lyr in layers:
if (lyr.type() == QgsMapLayer.RasterLayer):
cmd1 = "gdal_translate -b 1 "+ lyr.source() + "C:/...raster_input" + outputDir + "C:\...output" + lyr.name() + "test.ecw"
os.system(cmd1)
cmd2 = outputDir + "C:\...output" + lyr.name() + "test.ecw"
iface.addRasterLayer(cmd2)

Che non mi restituisce alcun dato, secondo voi dove ho sbagliato?