Catturare immagini
In questa pagina cercherò di presentarvi nel modo più semplice possibile gli strumenti per catturare le immagini, statiche e in movimento, dal vostro desktop, altrimenti come potete aiutarmi nella scrittura di questo sito? :-)
Immagini statiche
Per le immagini statiche esistono diversi programmi dalle funzioni pressocché uguali, essi consentono di salvare l'intero desktop o una singola finestra, con o senza decorazione, e di impostare un intervallo prima di "scattare" la foto. Ecco le schermate di alcuni strumenti, partendo da quello che ritengo il migliore la funzione di cattura integrata in GIMP: è quella col maggior numero di funzioni e grazie all'integrazione in GIMP consente una veloce modifica in caso di correzioni. La funzione è raggiungibile da File -> Acquisisci -> Schermata:

Poi abbiamo Ksnapshot, altro programma abbastanza ricco di funzioni:

e infine la funzione di cattura integrata in Gnome (dal menu Azioni -> Schermata) che non permette di catturare singole finestre, ma ha altre utili funzioni:

Altre utility da provare sono import e xvidcap, il secondo lo analizzerò più approfonditamente nel proseguio del testo. Per quanto riguarda il primo esso è programma testuale compreso in ImageMagick, che consente anche di catturare zone ben specifiche del desktop, ad esempio:
import -window root -crop 300x300+200+200 -quality 90 ./schermo.jpg
Con questo comando fotografiamo un quadrato di 300 pixel di lato a partire da 200 pixel di distanza, sia in orizzontale che in verticale, dall'angolo in alto a sinistra del monitor.
Immagini in movimento
Una miniguida sulla cattura di immagini animate dal desktop può essere trovata Qui
Come abbiamo visto esistono numerosi metodi per la cattura
di schermate dell'intero desktop o delle finestre ivi contenute;
non si può dire lo stesso per quanto riguarda le immagini
in movimento. Il programma migliore che ho trovato è
xvidcap.
Questo programma permette di registrare ciò che avviene
in una zona specifica del desktop, ma non facendo uso di driver
connessi direttamente all'hardware, sarà necessario
un computer abbastanza potente per star dietro alla gran mole
di dati in gioco. Il programma registra tutti i fotogrammi
della cattura, in una serie di fermi immagine a scelta tra
i formati jpeg, png, xwd, ppm ed altri oppure in un filmato
quicktime (.mov). Se optate per le singole immagini esse possono
essere convertite in un filmato in vario modo, con Gimp, mencoder,
Image Magick, etc...
Il programma può essere prelevato in forma di sorgenti
da QUI
sia nella versione 1.0.9, datata 1999 (quella che verrà
usata nella successiva prova) sia nella versione 1.0.17, datata
settembre 2003 , ma che non sono riuscito a compilare.
Una volta scaricato il pacchetto va compilato e installato
(adattate i comandi alla vostra situazione):
tar xvfz ./xvidcap-1.0.9.tar.gz
cd ./xvidcap
./configure
make
(da root) make install
Se tutto procederà senza errori troverete il programma
in /usr/local/bin/.
Avviamo quindi il programma:
/usr/local/bin/xvidcap
La linea di comando accetta molti parametri che potrete leggere, insieme ai formati supportati, con
xvidcap --help
in questo tutorial imposteremo le opzioni graficamente.
Dopo l'avvio il programma si presenterà così:

Il riquadro rosso indica la zona che verrà registrata. Prima di partire impostiamo le preferenze, cui potremo accedere con File -> Preferences o in caso di problemi con ALT+O:

Le opzioni impostabili sono le seguenti:
- Fotogrammi per secondo, 25 sono ideali per filmati fluidi. Se potete accettare qualche scatto riducete questo valore:occuperete meno spazio e sarà minore il lavoro per il computer, potrete quindi aumentare la finestra di cattura
- File pattern, qui potrete indicare il nome, il percorso del file e il formato. Se state registrando una serie di immagini con %04d potrete indicare dove inserire il numero progressivo e da quante cifre sarà composto.
- Massimo numero di fotogrammi, il significato è chiaro, appena registrati il numero di fotogrammi indicati in questa voce, la registrazione si fermerà. Con zero eliminerete qualsiasi limite
- Massimo numero di secondi, come sopra solo che l'unità di misura è il tempo
- Qualità, vale solo se state usando il formato Jpeg. Minore qualità vuol dire minore spazio occupato su disco
- Compressione: vale solo per PNG. Aumentando la compressione sarà occupato meno spazio su disco ma ci vorrà più lavoro da parte del computer.
A questo punto possiamo passare alla pratica.
Scelta di una finestra e cattura
L'uso è molto semplice. Dopo aver impostato le preferenze,
premiamo su questo pulsante
.
Il cursore diventerà una croce con la quale cliccheremo
nella finestra che vorremo registrare. Il riquadro di cattura
assumerà la grandezza di quella finestra (esclusi i
bordi). A volte potrebbe essere necessario spostare xvidcap
per far corrispondere il riquadro alla finestra desiderata.
Possiamo partire: clicchiamo sul pulsante Registra e per teminare
clicchiamo sul pulsante Stop. Le immagini catturate si troveranno
nella cartella specificata nelle opzioni oppure nella HOME
se non si è inserito niente.
Cattura di fermi-immagine
Xvidcap permette anche di catturare animazioni fotogramma per fotogramma. Il procedimento è il seguente: dopo aver impostato le preferenze (anche se alcune perdono valore come i fotogrammi per secondo), cliccate sul pulsante Pausa, poi su Registra e infine su Cattura fotogramma. Potrete notare che il frame attuale si incrementa di un numero e potrete catturarne un'altro. Potete anche sovrascrivere frame precedenti attraverso i pulsanti di spostamento e visualizzare il risultato col pulsante Visualizza (l'ultimo sulla barra).
Trasformazione in filmato
Se nelle opzioni abbiamo scelto l'estensione mov, dopo la
cattura ci ritroveremo nella cartella specificata un filmato
mov che può essere tranquillamente riprodotto con mplayer.
Se invece abbiamo optato per la cattura di una serie di immagini
potremo vedere il filmato scegliendo dal menu "File"
il comando "Make video". Questa funzione fa uso
di programmi esterni che possono essere configurati attraverso
le "X resources" ovvero modificando il file .Xdefaults
(vedi man xvidcap per ulteriori info).
Esistono anche altri modi per l'ottenimento di un filmato,
con Gimp apriamo il primo frame della serie (esempio frame_0000.xwd),
poi scegliamo da menu <immagine> / Video / Frame a immagine.
Nella finestra successiva possiamo anche lasciare invariate
le opzioni e cliccare su Ok. Gimp ci segnalerà un errore
sul fatto che non stiamo usando il formato xcf, clicchiamo
su "Salva com'è". Dopo un po' di tempo per
l'elaborazione otterremo una immagine costituita da tanti
frame quante sono le istantanee scattete. Salviamo l'immagine
nel formato gif o mng (per questi argomenti vi rimando ad
altri tutorial). Sempre con Gimp
dopo aver aperto il primo frame possiamo scegliere <imm>
/ Video / Encode / mpeg1 o mpeg2 per ottenere filmati mpeg
(dovremmo aver installati i programmi per la codifica in mpeg
e rispettare altre caratteristiche come la dimensione e il
formato delle immagini, l'argomento purtroppo è troppo
ampio per trattarlo qui).
Con mencoder possiamo salvare la sequenza in un qualsiasi
formato video leggibile da mplayer, proviamo con il mpeg. Ne capisco poco di mencoder quindi ricopio
il comando usato in questo
documento
mencoder \*.png -mf on:fps=10 -ovc lavc -lavcopts vcodec=mpeg1video:vhq:vbitrate=1800 -o video.mpg
e come volevasi dimostrare, non conoscendo mencoder, il comando mi ha prodotto un video deformato,
provate voi non si sa mai... Altra nota: mencoder purtroppo
non supporta il formato xwd quindi se volete usarlo create
i frame in jpg o png.
Sempre per creare un'animazione potete usare ImageMagick ad
esempio con questo comando:
convert -delay 4 frame*.xwd filmato.gif
ImageMagick si è dimostrato il più lento quindi
non ve lo consiglio.
Alcune note: tutti i procedimenti elencati
richiedono, a seconda del numero di frame (200 già
sono tanti), molto tempo e molta memoria per l'elaborazione.
Preparatevi quindi a lunghe attese (qualche minuto per 200
frame di 350 x 350 su un Pentium III 450 Mhz), con ImageMagick si è verificato un "quasi" blocco del pc quindi se possibile
chiudete tutti gli altri programmi aperti, o quantomeno salvate
il lavoro ;-)
Fermo-immagine da filmati
Catturare fermo-immagini da filmati è una faccenda molto diversa e usare gli stessi strumenti visti sopra porterebbe di solito a risultati pessimi.
Il metodo migliore è rappresentato dalla specifica funzione di cattura presente praticamente in tutti i programmi di una certa qualità. Spulciate i menù e/o le opzioni per i programmi testuali e la troverete sicuramente. Ad esempio in Totem si trova nel menu Modifica.
Link correlati sul sito...
... e sul web.
- Sito Xvidcap
- X11rec, uno script in ruby per la cattura di immagini animate e la trasformazione nel formato gif o mng attraverso Image Magick. Lo consiglio solo per la cattura di brevissime animazioni.
- Captura de secuencias de video de una aplicacion COMO

Commenti
stella
ciao a tutti, io ho un problema:
ho fatto un video con la macchinetta digitale, è una canon digital ixus 9501s
Ora il problema è che non so perchè, ma il video è venuto velocissimo, io dovevo estrapolare delle immagini, di solito uso il vlc rallento e prendo le immagini.Con questo video le immagini sono tutte distorte, perchè anche rallentando il video rimane troppo veloce--che mi consigli?Posso estrapolare le immagini dai frame del video?Ho provato virtual dub opzione frame, anche rallentando il problema rimane...Mi date qualche consiglio?Ho perso tutto?
Grazie
Ps se puoi mi rispondi (anche) in privato?la mia email è stella [dot] mia1
virgilio [dot] it
a presto
Aiuto
Ciao, ho letto con molto interesse il tuo articolo, ma sinceramente le mie conoscenze in merito, sono limitate! ho scaricato il programma, ma non capisco assolutamente come si compila e configura. Le mie intenzioni, sono di registrare a monitor dei filmati tipo quiktime per fare piccole lezioni riguardo l'utilizzo di un software... se mi puoi aiutare te ne sarei grato
Cordialità Maurizio
stella
ciao a tutti, io ho un problema:
ho fatto un video con la macchinetta digitale, è una canon digital ixus 9501s
Ora il problema è che non so perchè, ma il video è venuto velocissimo, io dovevo estrapolare delle immagini, di solito uso il vlc rallento e prendo le immagini.Con questo video le immagini sono tutte distorte, perchè anche rallentando il video rimane troppo veloce--che mi consigli?Posso estrapolare le immagini dai frame del video?Ho provato virtual dub opzione frame, anche rallentando il problema rimane...Mi date qualche consiglio?Ho perso tutto?
Grazie
Ps se puoi mi rispondi (anche) in privato?la mia email è stella [dot] mia1
virgilio [dot] it
a presto
Che sistema operativo usi?
Che sistema operativo usi? Per quanto riguarda linux (su windows ci sono maggiori alternative in questo campo) ho fatto un riassunto delle opportunità qui:
http://www.volalibero.it/vncrec_registriamo_animazioni
Molto valido è il sistema cheutilizza un server vnc, anche se le animazioni create sono in flash. Per quanto riguarda l'installazione dei programmi su linux non è necessario compilarli (gli articoli sono purtroppo un po' vecchiotti), se cerchi tra i pacchetti della tua distribuzioni troverai sicuramente tutti i programmi che cito.
Ciao, Mike :)
Sistema op
Il mio sistema operativo è windows xp, linux lo sto scaricando ora... quindi come posso procedere?
Cordialità Maurizio
Ma il programma ce devi
Ma il programma ce devi "filmare" su che sistema operativo gira? Se va su windows devi cercare un programma che catturi in tempo reale l'attività del monitor per windows. Ecco alcuni link:
http://www.dirfile.com/free_screen_capture.htm
http://www.techsmith.com/snagit.asp
http://www.etrusoft.com/
http://www.hyperionics.com/
Alcuni sono disponibli in versione di prova, altri a pagamento eil primo è gratis (non ne ho provato nessuno).
Mike