I collaboratori del sistema Theremino sono felici di regalare agli electroyouisti un piccolo convertitore da immagini a FidoCad: la applicazione "Theremino ImgToVectors".
Buon Natale a tutti da Ennio, Roberto, Livio, Alessio, Leonardo, Lodovico, Marco, Massimo, Paolo e dai Makers del sistema Theremino.
Indice |
Prima versione del convertitore
La conversione automatica da immagini a FidoCad non può produrre disegni belli e concisi come quelli di un vero artista, ma potrebbe essere utile per corredare gli schemi con piccole immagini, ad esempio un logo o un simbolo.
La base del convertitore attuale sono cinque algoritmi che si trovano nel modulo RasterToVectors della applicazione ImgToVectors . Sono algoritmi che avevamo già pronti e che utilizzavamo per semplificare e ripulire le immagini da tradurre in WMF (Windows Meta File) per poi usarle in macchine a controllo numerico. Non abbiamo utilizzato librerie ma li abbiamo scritti in VbNet puro, così da poter essere utilizzati a scopo didattico o tradotti in altri linguaggi e importati in altre applicazioni (ad esempio DarwinNE potrebbe in futuro introdurli in FidoCadJ).
Chi volesse dargli una occhiata può leggere questa copia del file Module_RasterToVectors. Ma chi pensa di intraprendere una conversione in un differente linguaggio farebbe meglio a scaricare VbNet 2008 e aprire il progetto completo in modo da avere una visione di insieme di tutta la nostra applicazione, come consigliato qui.
I primi quattro algoritmi trasformano i tratti del disegno in curve di Bézier equivalenti. Il quinto tenta di approssimare ogni sequenza di curve con la curva più lunga possibile, in modo da abbreviare il file di uscita, ma senza superare la tolleranza specificata dall'utente. Si tratta di algoritmi abbastanza complessi e scritti con attenzione, ma fanno quello che possono e questa è una conversione davvero difficile. Quindi le immagini devono essere adatte ed eventualmente pre-trattate con un programma grafico per ridurne la complessità. Non si possono convertire paesaggi ma solo disegni semplici.
Dopo la conversione si possono effettuare ritocchi con l'editor di FidoCad. Ad esempio è possibile minimizzare la lunghezza del file FCD conservando solo le curve che interessano ed eliminando tutto il resto.
Attualmente il convertitore tratta solo linee sottili, quindi niente aree riempite di colore. Se nelle immagini ci sono linee spesse queste vengono tradotte con linee doppie che racchiudono uno spazio vuoto. Per cui abbiamo dovuto fare dei compromessi. Abbiamo impostato lo spessore di due pixel per le linee ed è questo che le rende un po' "grassette". Inoltre non si possono poi "colorare" manualmente le immagini coma fa Zeno nei suoi esempi artistici.
Un certo miglioramento delle capacità di conversione potrebbe essere possibile nelle prossime versioni.
Sviluppi futuri
Oltre alle linee singole stiamo cercando di ottenere anche aree riempite di colore, in modo da permettere di colorare le immagini con lo stile che si vede in questo articolo.
Abbiamo fatto alcune prove usando la primitiva "CP" che non implementa vere curve di Bezier ma solo Spline multipunto senza parametri di regolazione. Le prove procedono con difficoltà a causa delle limitazioni imposte da FidoCad (mancanza delle regioni e limitazione del numero di punti per le spline) ma speriamo di trovare un modo per aggirarle nei prossimi giorni.
Quindi, se tutto va bene, ci sarà un secondo articolo con il regalo di capodanno.
Immagini di test
Le immagini seguenti sono un test delle capacità attuali del convertitore. Sono immagini abbastanza complesse per cui i codici FidoCad sono lunghi e rappresentano anche un test per le capacità di FidocadJ e del sito ElectroYOU.
Il sito ElectroYOU considera questa pagina piuttosto lunga ma la mostra senza problemi e la fa scorrere velocemente su tutti i browser che abbiamo provato. In effetti questi file FidoCad sono molto lunghi rispetto a quelli normali, ma la loro lunghezza non è poi così esagerata, vanno dagli 80 kbyte (il babbo natale) a 180 kbyte (il Peanuts3). Sono kilo-byte non mega, lunghezze irrisorie per i computer di questi anni.
Un consiglio: chi scrive articoli e fa fatica a scorrere il testo a causa delle molte righe FidoCad può spezzare l'articolo in paragrafi con titoli preceduti e seguiti da due o tre segni "=". In questo modo si possono editare indipendentemente e velocemente le parti dell'articolo che contengono solo testo, anche in presenza di codici FidoCad molto lunghi.
Lo hanno già scritto ripetutamente in questo sito ma è bene ricordarlo: Quando si vuole aggiungere un disegno FidoCad agli articoli si deve prima copiare e incollare il testo e poi premere il pulsante "Inserisci un circuito in FidoCadJ". Se si procede nell'ordine inverso il disegno non appare e si deve ricominciare da capo.
Nell'ultima parte di questa pagina sono disponibili le immagini originali in formato JPG per chi volesse fare dei confronti o usarle nelle prove di conversione.
Esempio dalla immagine Peanuts3.jpg
Esempio dalla immagine Peanuts2.jpg
Esempio dalla immagine Peanuts1.jpg
Immagini originali in formato JPG
Per chi volesse fare un confronto ecco qui le immagini originali: