Pagina 1 di 1
GIMP - creazione di uno script per elaborare png di un DV
Inviato: dom 5 gen 2014, 13:17
da moroboshi_84
Salve a tutti,
come da titolo, vorrei usare GIMP, per l'elaborazione di una sequenza di immagini png ottenute da un video mini-dv, ottenuti in questo modo:
Codice: Seleziona tutto
avconv -y -i "path video dv/nome.dv" -an -vcodec png "path destinazione/out01/pic%04d.png"
A questi png, vorrei poter applicare i filtri (possibilmente scegliere quali):
Colori->Auto->Bilanciamento del bianco
Colori->Auto->Normalizza
Filtri->Miglioramento->Antialias
Filtri->Miglioramento->Deinterlaccia
Filtri->Miglioramento->Maschera di contrasto
Filtri->Miglioramento->Smacchiatura
Cordialmente, colgo l'occasione per augurare a tutti un buon anno!
Ps: sono ammessi consigli di ogni sorta e genere, del tipo la sequenza giusta di applicazione dei filtri o esistenza di filtri ottimizzati per l'elaborazione video.
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: dom 5 gen 2014, 15:47
da Lazza
Riguardo al bilanciamento del bianco e alla normalizzazione, probabilmente puoi usare Imagemagick direttamente.

Per le altre cose, hai provato i plugin già citati in vari topic per l'elaborazione batch? Tipo BIMP o DBP...
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: dom 5 gen 2014, 16:23
da moroboshi_84
Lazza ha scritto:Riguardo al bilanciamento del bianco e alla normalizzazione, probabilmente puoi usare Imagemagick direttamente.

Per le altre cose, hai provato i plugin già citati in vari topic per l'elaborazione batch? Tipo BIMP o DBP...
Intanto ti ringrazio per la pronta risposta, si l'ho installato il David's Batch Processor.
Per l'autowhite si deve andare in Colour-> Enable -> AutoLevel
ma per le altre cose ?
Intanto provo a installare BIMP... ma torno a dire vorrei avere la possibilità di ripetere quello che faccio per il primo frame manualmente...
EDIT: BIMP era quello che cercavo... se magari qualcuno di buona volontà mi spiegasse qual è il nome interno dei plugin da me usati, sarebbe cosa buona e gradita... Pace e Bene, Fratelli!!!
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: lun 6 gen 2014, 2:37
da moroboshi_84
A quanto c'ho capito il nome dei filtri dovrebbe essere
Colori->Auto->Bilanciamento del bianco (gimp-levels-stretch)
Colori->Auto->Normalizza (plug-in-normalize)
Filtri->Miglioramento->Antialias (plug-in-antialias)
Filtri->Miglioramento->Deinterlaccia (plug-in-deinterlace)
Filtri->Miglioramento->Maschera di contrasto (plug-in-unsharp-mask)
Filtri->Miglioramento->Smacchiatura (plug-in-despeckle)
Ho fatto tre prove, ma nessuna che mi soddisfi a pieno (speravo che la smacchiatura, togliesse sta grana fastidiosa, ma invece ha fatto più danni che benefici)
Frame originale
autowhite+normalizza+deinterlaccia dispari+antialias=out01
out01 + smacchiatura
out01 + maschera contrasto
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: lun 6 gen 2014, 13:38
da Lazza
moroboshi_84 ha scritto:Ho fatto tre prove, ma nessuna che mi soddisfi a pieno (speravo che la smacchiatura, togliesse sta grana fastidiosa, ma invece ha fatto più danni che benefici)
Prova con l'anisotropico o con il wavelet denoise. In teoria li trovi tutti su G'MIC (che tra l'altro mi pare si possa scriptare o comunque applicare in qualche modo a tutte le immagini aperte).
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: mar 7 gen 2014, 1:00
da moroboshi_84
Lazza, ancora grazie per la dritta... ho scaricato e compilato i filtri della G'MIC (anima a provarli tutti ci vorrebbe un eternità)... ho scoperto che può essere richiamato da terminale senza passare per gimp (e gli si può fare quindi un bello script, ed applicare i filtri che necessitano per ogni frames).
Se non è chiederti troppo, oserei (visto che indubbiamente avrai molta più esperienza di me in merito) nel spiegarmi in sequenza e con quali parametri impostare i singoli frames (nel post precedente ho linkato anche un frame preso direttamente dalla mini-dv)... Fatto per uno poi io cercherò di applicarlo per tutti.
Sono concio che miracoli non se ne potranno fare (se l'originale è di per se scadente, e sicuramente non stiamo qui restaurando un vecchio capolavoro del cinema mondiale)... però vorrei almeno mascherare qualcosina (sui schermi moderni è davvero na cosa inguardabile).
Sempre cordialmente,
un saluto a tutti.
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: mar 7 gen 2014, 23:42
da Lazza
moroboshi_84 ha scritto:(visto che indubbiamente avrai molta più esperienza di me in merito) nel spiegarmi in sequenza e con quali parametri impostare i singoli frames
Sul mio essere tanto esperto a migliorare i video ho qualche dubbio.

Comunque indubbiamente farei il deinterlacciamento per primo, poi puoi provare:
- Smooth (anisotropic) — G'MIC
- Auto bilanciamento del bianco
- Sharpen (Octave sharpening) — G'MIC
E poi boh, dipende quello che vuoi fare.

Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: mar 14 gen 2014, 17:50
da moroboshi_84
Ciao...
di prove ne sto facendo parecchie, ma l'unico che sembra togliere in parte la sgranatura sia l'effetto Pixel denoise...
Intanto ti posto lo script che per ora ho messo su... vorrei capire come fargli digerire in pipe anche qualche filtro di gimp e mettergli magari anche un Pause/Resume/Stop o magari riportarlo in zenity...
Codice: Seleziona tutto
#!/bin/bash
#Costanti -> upper
#Variabili locali -> prima lettera upper
#File -> lettere under
clear
#Imposto la costante YES
YES="y"
NO="n"
ZERO="0"
#Imposto l'user agent
UA="Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0"
#Imposto il tipo di file
TYPE="*.png"
#Imposto cartella di default
DEFAULT=$HOME/Immagini
#Imposto la cartella locale per bgmic
BGMIC=$HOME/.bgmic
echo "BGMIC : " $BGMIC
#Controllo l'esistenza della cartella locale di bgmic
if [ ! -d $BGMIC ]; then
mkdir $BGMIC
fi
#mi sposto sulla cartella locale di bmic
cd $BGMIC
#Controllo la versione di gmic e scarico il file per usare i filtri è del tipo
#http://gmic.sourceforge.net/update1582.gmic
gmic -version &> version
Gmicversion=`echo | grep -r 'Version' version | cut -d',' -f1`
Gmicversion=`echo $Gmicversion | cut -d' ' -f2 | tr -d '.'`
echo "Version: " $Gmicversion
Filegmic=update$Gmicversion.gmic
#controllo se esiste il file per usare i plugin gmic
if [ ! -f $Filegmic ]; then
echo "Non esiste " $Filegmic " lo scarico"
wget -U "$UA" "http://gmic.sourceforge.net/$Filegmic" -O $Filegmic
fi
#determino la path di elaborazione default o last
if [ ! -f lastsource ]; then
echo "Non esiste lastsource mi sposto sulla cartella Immagini"
Lastsource=$DEFAULT
else
Lastsource=`cat lastsource`
fi
if [ -d $Lastsource ]; then
echo "Lastsource: " $Lastsource
else
echo "Il file lastsource è vuoto, imposto al valore di default cartella Immagini"
Lastsource=$DEFAULT
fi
#Chiedo cartella delle immagini da elaborare
echo "Cartella con le immagini da elaborare: (default : " $Lastsource")"
read Sourcefolder
if [ -z "$Sourcefolder" ]; then
echo "Valore di default"
Sourcefolder=$Lastsource
fi
find $Sourcefolder/$TYPE -type f -printf "%p$IFS"|sort > listfilesource
#ripeto la domanda finchè non mi darà una cartella con file da elaborare
while [ ! -s listfilesource ]
do
echo "Cartella con le immagini da elaborare: "
read Sourcefolder
find $Sourcefolder/$TYPE -type f -printf "%p$IFS"|sort > listfilesource
done
#salvo la cartella per prossime elaborazioni
echo $Sourcefolder > lastsource
#determino la path degli elaborati default o last
Defaultdest=$Sourcefolder/elab
if [ ! -f lastdest ]; then
echo "Non esiste mi sposto sulla cartella Immagini/elab"
Lastdest=$Defaultdest
else
Lastdest=`cat lastdest`
fi
if [ -d $Lastdest ]; then
echo "Lastdest: " $Lastdest
else
echo "Il file lastdest è vuoto, imposto al valore di default cartella Immagini/elab"
Lastdest=$Defaultdest
fi
#chiedo la cartella dove salvare le immagini elaborate
echo "Dove vuoi salvare le immagini elaborate: (default : " $Lastdest ")"
read Destfolder
if [ -z "$Destfolder" ]; then
echo "Valore di default"
Destfolder=$Lastdest
fi
#controllo l'esistenza della cartella di destinazione
if [ ! -d $Destfolder ]; then
echo "Non esiste la cartella"
mkdir $Destfolder
fi
#salvo la cartella per prossime elaborazioni
find $Destfolder/$TYPE -type f -printf "%p$IFS"|sort > listfiledest
echo $Destfolder > lastdest
#chiedo se vuole editare il file dei filtri
echo "Vuoi editare il file dei filtri: (default : y)"
read -s -n 1 Edit
if [ "$Edit" == "$NO" ]; then
echo "vale o N o n"
else
echo "lo faccio valere y"
Edit=$YES
fi
if [ ! -f filter ]; then
echo "Non esiste il file"
Edit=$YES
fi
if [ "$Edit" == "$YES" ]; then
vi filter
fi
#determino quanti file ci sono nelle due cartelle
wc -l listfilesource &> totalsource
wc -l listfiledest &> totaldest
Totaldest=`cat totaldest`
Totaldest=`echo $Totaldest | cut -d' ' -f1 | cut -d'=' -f2`
TOTALDEST=$Totaldest
Totalsource=`cat totalsource`
Totalsource=`echo $Totalsource | cut -d' ' -f1 | cut -d'=' -f2`
Totalelab=$[Totalsource-Totaldest]
Currentelab="0"
#determino la lunghezza delle path
Lsourcefolder=${#Sourcefolder}+1
Ldestfolder=${#Destfolder}+1
#valorizzo i due array con i file contenuti nelle due cartelle
Listfilesource=`cat listfilesource`
Listfiledest=`cat listfiledest`
#Carico il file dei filtri
Filter=`cat filter`
elaborazione() {
clear
echo "Nome file in elaborazione: " $i
Totaldest=$[Totaldest+1]
Currentelab=$[Currentelab+1]
echo $Totaldest"/"$Totalsource
echo $Currentelab"/"$Totalelab
gmic $Filegmic $i $Filter -o $Destfolder/$Filenamesource
echo "$Destfolder/$Filenamesource" >> listfiledest
}
time for i in $Listfilesource
do
Filenamesource=${i:$Lsourcefolder}
if [ ! -f $Destfolder/$Filenamesource ]; then
elaborazione
fi
done
exit 0
Re: GIMP - creazione di uno script per elaborare png di un D
Inviato: mar 14 gen 2014, 19:19
da Lazza
moroboshi_84 ha scritto:vorrei capire come fargli digerire in pipe anche qualche filtro di gimp
Be', se chiami il processo passandogli uno script-fu il quale si limita a richiamare gli script già presenti in Gimp (o che faccia anche altro, come vuoi tu) dovrebbe essere possibile:
http://www.gimp.org/tutorials/Basic_Batch/