Da immagini TIFF a DXF con Inkscape

Pubblicato da Nicola Rainiero il 16-09-2012 (aggiornato il 12-05-2015)

In questa breve guida mostrerò come con Inkscape si possano convertire immagini cartografiche TIFF in un formato vettoriale DXF, uno standard compatibile con molti software CAD. Il risultato finale, pur con alcune limitazioni e difetti, permette una più facile lavorazione e ottimizzazione con il programma preferito di disegno assistito.

Capita di dover adattare e inserire nel proprio progetto, sezioni o elementi della Carta Tecnica Regionale[1], meglio nota con l'acronimo CTR, il tutto spesso si riduce a una semplice sovrapposizione sull'immagine raster, per cui è sufficiente il solo software CAD. Alle volte però bisogna mettere mano al CTR stesso e allora ci si deve armare di pazienza e aggiungere particolari nella carta stessa disegnandoci sopra. La Regione Veneto pernette attraverso il GeoPortale Regionale di scaricare sezioni ed elementi del CTR anche in formato DXF, come si può facilmente constatare nella pagina Infrastruttura dei Dati Territoriali del Veneto - Catalogo dei Dati. In altre Regioni purtroppo non è lo stesso e quando va bene si riesce ad ottenere un TIFF georeferenziato.

Ci si pone allora il problema se conviene lasciarlo così come è importarlo in CAD come semplice immagine raster o convertirlo in vettoriale. Se vi trovate nella seconda ipotesi, Inkscape software GPL per il disegno vettoriale, fa al caso vostro e vi permette di convertire molti formati raster tra i quali il TIFF in un DXF facilmente digeribile dalla maggior parte dei software di disegno assistito.

Passaggi principali

Le operazioni classiche che svolgo in questi casi si sono possono così riassumere:

  1. Analisi dell'immagine di partenza: se serve solo una parte si può togliere tutto il resto e ricorrere ad un programma di fotoritocco come GIMP per migliorarne i contorni se dovessero essere poco definiti o parziali, in alcuni casi anche la riduzione della risoluzione o densità può aiutare a snellire il carico di lavoro. Se come nel mio caso non si dispone di workstation ultimo grido, conviene fare alcune prove su piccole porzioni dell'immagine e una volta raggiunto il risultato desiderato procedere con quella completa (si risparmiano tempo e risorse hardware).
  2. Caricamento dell'immagine in Inkscape con File --> Importa (o Ctrl+I) e poi una volta individuata l'immagine e cliccato su apri, si può optare ad un suo semplice collegamento (opzione link e meno risorse impiegate) o caricamento completo (opzione embed).
  3. Selezione dell'immagine e poi del comando in Tracciato --> Vettorizza bitmap (o Maisc+Alt+B)
  4. Conversione scegliendo una delle due procedure:
    • riduzione luminosità, in base ad un livello di luminosità fornito;
    • rilevamento bordo, in base all'algoritmo fornito da J. Canny.
    Il menu consente di cambiare i valori di default e offre una comoda Anteprima che si può visionare cliccando di volta in volta Aggiorna. Se comunque il risultato finale ottenuto dopo aver dato l'OK non dovesse andare bene si può sempre tornare indietro con Modifica --> Annulla (o Ctrl+Z).
  5. Semplificazione dell'immagine vettoriale, serve per ridurre il numero di nodi (è meglio usarla con moderazione perché toglie molti particolari), sempre selezionandola si passa in modalità Modifica tracciati dai nodi (la seconda icona dall'alto della barra degli strumenti a sinistra dello schermo, ma basta anche premere F2), si scelgono tutti i nodi da Modifica --> Seleziona tutto (o Ctrl+A) e poi Tracciato --> Semplifica (o Ctrl+L). Si può ripetere il procedimento più volte per una ulteriore riduzione del loro numero (ma la qualità ne risente parecchio).
  6. Si torna in modalità Seleziona e trasforma oggetti (la prima icona dall'alto della barra degli strumenti a sinistra dello schermo, ma basta anche premere F1) e si salva il tutto in DXF da File --> Salva con nome (o Maiusc+Ctrl+S) e scegliendo come formato Desktop Cutting Plotter (R14) (*.dxf). Per completezza si può installare anche un'estensione denominata Better DXF Output e uscita per la precedente versione 0.46 di Inkscape  ma non è più aggiornata e non ho visto grandi miglioramenti nel DXF prodotto.

Esempio

Ho compresso il tutto in tiff2dxf.zip. Di seguito riporto alcune immagini che ben riassumono i passaggi svolti:

Dall'orginale alle due conversioni in vettoriale
Conversione dell'immagine originale seguendo le due procedure descritte sopra (tra parentesi il valore soglia scelto nei due casi) e successiva semplificazione dei nodi
Caricamento in un programma CAD e disegno di una linea con snap attivato
Caricamento in LibreCAD con disegno di una semplice linea sfruttando lo snap nei punti estremi dei nodi

Fonte




Potrebbero interessarti anche:

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.