Attenzione: l'articolo è stato scritto da oltre 1 anno, le informazioni in esso contenute potrebbero essere datate e non più attuali.

Nikon Coolpix 4300 e Linux

Ho da poco comprato la fotocamera Nikon Coolpix 4300 (lo so non è recentissima, ma era in offerta ;) ), ho aperto la scatola e ho trovato manuali in più lingue, software, accessori e tanto altro. "Bene!": direte. E, invece, no! Purtroppo in questa pagina mi soffermerò su una parola che non ho trovato in nessuna parte della documentazione: Linux.

Dov'è il supporto per Linux?

La mancanza del supporto di Linux da parte della gran parte di produttori di periferiche per computer è un gravissimo fattore limitante della libertà di scelta dei consumatori, soprattutto quando la casa produttrice è la Nikon che potrebbe anche spendere qualche euro per eliminare questo problema. Inoltre il prodotto funziona egregiamente senza configurazioni "esotiche" e allora perché non fornire documentazione ufficiale al riguardo? In attesa di un futuro più roseo da questo punto di vista per Linux mi lancio nella descrizione non ufficiale di come utilizzare quest'apparecchio con Linux.

La connessione al PC

La Coolpix 4300 supporta sia lo standard USB Mass Storage che il PTP (Picture tranfer Protocol). La fotocamera è impostata per usare il primo protocollo e quindi dovrete modificare il Setup se vorrete usare il secondo.
In base al protocollo scelto cambierà il modo di accedere all'apparecchio. Nel caso dell'uso dell'USB Mass Storage c'è poco da dire: dopo la connessione dell'apparecchio al PC (Linux Mandrake 9.2) è stato subito riconosciuto ed è stata aggiunta al file /etc/fstab la riga
/dev/sda1 /mnt/removable auto user,umask=0,iocharset=iso8859-15,exec,noauto,codepage=850,kudzu 0 0
Quindi per visualizzare le foto è bastato montare il nuovo "hard-disk" con le classiche icone del desktop oppure, da linea di comando, con:
mount /mnt/removable
Una volta montata potremo esplorare le cartelle contenenti le foto con un qualunque file manager. Potete anche copiare file sulla card anche se credo sia meglio lasciarla utilizzare solo all'apparecchio.
Nel caso del protocollo PTP dovrete usare programmi specifici che vedremo più avanti.





EXIF

Una caratteristica molto interessante delle macchine digitali è l'utilizzo dello standard Exif che permette di memorizzare nel file immagine anche dati relativi allo scatto come l'apertura del diaframma, lunghezza focale, uso del flash, ecc...
Questi dati possono essere visti, o con il menù della macchina fotografica ;) o con alcuni programmi che supportano tale standard. In Linux molti programmi permettono di farlo, ad esempio Gqview (Modifica -> Proprietà):

gqview exif

exif, un programma da console, oppure Gexif, un suo front end grafico (questi due, i migliori IMHO, permettono anche di modificare i dati):

gexif

gThumb, con File -> Properties:

exif gthumb

Per quanto riguarda GIMP Versione 2, la scelta degli sviluppatori è stata quella di permettere di conservare tali valori se si salva in jpg, ma di non poterli visualizzare né, ovviamente, modificarli:

gimp2 exif

Infine non va dimenticato Nautilus, il file manager di Gnome, con la modalità "Visualizza come Galleria di Immagini" e il programma da linea di comando jhead.

Il software e i sostituti

Nella scatola di cui sopra, ho trovato tre CD con i seguenti software:

  • Nikon View
  • Panorama Maker 3
  • Adobe Photoshop Elements

Il primo programma permette di gestire le immagini presenti sulla fotocamera: trasferirle al pc, inviarle via e-mail, creare una galleria di immagini per il web, ed altre operazioni. Inoltre dispone di un editor per la correzione di parametri come l'esposizione, la nitidezza, il contrasto, gli occhi rossi, ecc... In Linux possiamo sostituirlo con un qualsiasi file manager come Nautilus o Konqueror (se in modalità Mass Storage) oppure, se in modalità PTP, utilizzare il programma da linea di comando gPhoto2 oppure uno dei suoi front-end grafici: Gtkam (basta andare in Camera -> Add -> detect per accedere all'apparecchio)

gtkam nikon 4300

oppure Konqueror scrivendo semplicemente nella barra degli indirizzi "camera:/"

koonqueror camera nikon 4300

o, infine, l'ottimo Digikam (Impostazioni -> Configura Digikam -> Fotocamere -> Autoriconoscimento per installare la fotocamera) che nudo e crudo ha le semplici funzioni di visualizzatore ma installando anche il pacchetto dei plugin consente di:

  • Rinominare gruppi di immagini
  • Cambiare formato
  • Trasformare in Video CD
  • Archiviare su CD
  • Creare una galleria di immagini per il web
  • Correggere gamma, luminosità, contrasto
  • Preparare per la stampa
  • Inviare via e-mail
  • ed altro

Inoltre consente anche di archiviare le cartelle di immagini in base ai soggetti contenuti: feste, vacanze, famiglia, ecc...
Eccone uno screenshot:

Digikam PTP

Il secondo programma permette le creazione di foto panoramiche con visuali che possono arrivare anche a 360 gradi. Un equivalente il Linux possiamo ritrovarlo nei Panorama Tools (gli RPM QUI) e in un loro front-end grafico, ad esempio Hugin:

nikon hugin

Infine, il terzo programma è un programma di fotoritocco, in pratica il fratello minore di Adobe Photoshop. In Linux ovviamente possiamo sostituirlo con il nostro caro The GIMP.

Qualche script, ovvero automatizziamo il possibile

Ecco alcuni script utili per lavorare su gruppi numerosi di immagini senza perdere la testa. Dopo aver scaricato le decine, a volte centinaia, di foto che la fotocamera può contenere può venirci voglia di cambiare loro nome o qualche altro attributo, vediamo con quali strumenti possiamo svolgere questo lavoro in maniera rapida.

Rinominare le foto.

Per una corretta catalogazione delle foto può servire oltre che inserirle in una cartella con un nome appropriato, anche dare loro un nome che ce ne chiarisca il contenuto. Alcuni programmi visti sopra già dispongono di questa funzione, qui implementata attraverso questo semplice script che prende tutti i file contenuti nella cartella in cui viene lanciato e li rinomina:

#!/bin/bash
contatore=0

#modificare nella linea seguente l'estensione in accordo ai file su cui lavorare
est=jpg

for i in *
do
contatore=$[1+$contatore]
#modificare l'inizio del file rinominato
mv "$i" "vacanza_al_mare_$contatore.$est"
done










Aggiungere bordi e diciture.

Per ricordare meglio l'occasione in cui la foto è stata scattata, l'autore o altro, possiamo imprimere su di essa una scritta. Un metodo molto semplice è quello di usare Image Magick, ho descritto già come operare su di una singola immagine ora vedremo come allargare l'uso a più immagini e altri esempio.

Lo script di base è il seguente (ricordate che così com'è opererà su tutte le immagini contenute nella cartella, state attenti, fate prima qualche prova):

#!/bin/bash
for i in *
do
convert -font Helvetica -pointsize 15 -fill blue -draw 'text 5,10 "(c) 2004 Mike Vargas"' $i meta$i
done





Lo script precedente non sovrascriverà niente ma creerà copie modificate. Se volete eliminare l'immagine originale, potete sostituire, nello script, convert con mogrify e eliminare meta$i.
Modificando la riga con il comando convert potrete ottenere varie soluzioni. Ad esempio come dicevo nella pagina segnalata sopra:

convert -border 15x15 -bordercolor white -gravity SouthEast -font courier -pointsize 15 -fill red -draw 'text 15,14 "© 2003 Mike Vargas http://www.volalibero.it"' ./originale.png ./modificata.png"
Il comando convert prenderà l'immagine originale.png le aggiungerà un bordo 15x15 di colore bianco (white), poi in basso a destra (Southeast) scriverà la frase tra virgolette (© 2003 Mike...) con il carattere courier, grandezza 15 e il colore rosso. La frase terminerà a 15 pixel dal bordo laterale destro e sarà distante 14 pixel dal bordo inferiore. Questa nuova immagine verrà chiamata modificata.png. Il font può anche essere specificato nella forma:
-font '-b&h-lucida-bold-r-normal-sans-20-140-100-100-p-127-iso8859-15'



Ovviamente possiamo scrivere anche frasi non fisse, ma prese in maniera dinamica dalle foto stesse. ad esempio modificando l'opzione -draw nel seguente modo: -draw 'text 10,30 "%m:%f %wx%h"' verrà scritto "formato_file:nome_immagine dimensione_verticalexdimensione_orizontale". Altre opzioni potrete trovarle nella pagina di manuale di Image Magick. Infine con -draw 'text 10,30 "%[EXIF:DateTime]"' scriveremo il contenuto di un tag Exif, nel caso specifico la data e l'ora dello scatto.

Ruotare le immagini.

Quando vengono svolte operazioni sulle immagini jpeg come la rotazione si ha un leggero degrado qualitativo dovuto alla necessità di ricampionare l'immagine. Per evitare questo inconveniente si può utilizzare il programma jpegtran che ha la seguente sintassi:

jpegtran -rotate 90 immagine.jpg > immagine_ruotata.jpg

non credo vi sia difficile inserire il comando in uno script come quelli visti in precedenza. Chi vuole può usare anche Image Magick per la stessa operazione anche se non so se utilizza degli algoritmi senza perdita di qualità.

Cosa manca?

Tra i programmi Open Source (la carenza è colmata in parte dai programmi a codice chiuso) manca un programma che gestisca in maniera completa i profili di colore. Qualcosa si stà muovendo ma è ancora poco.

Link correlati

Nessun voto finora