Magazine Tecnologia

HowTo: Aggiungere un watermark nelle foto

Creato il 07 marzo 2011 da Idl3

Se avete scattato foto con la vostra fotocamera digitale (e/o realizzato/modificato immagini con un software) e le avete successivamente pubblicate su Internet nel vostro sito personale, e’ molto probabile che queste vostre immagini “magicamenteappariranno anche in altri siti senza che voi ne sappiate nulla. Questo evento, che la scienza ancora non e’ riuscito a spiegare, dagli ufologi viene chiamato “appropriazione indebita di immagini“. Per avere un minimo di protezione, potete segnalare nell’immagine stessa il vostro nome e il tipo di licenza con la quale la rilasciate.

HowTo: Aggiungere un watermark nelle foto

Vincenzo Peruggia trafugo' la Gioconda dal museo del Louvre nel 1911

La “soluzione” piu’ semplice e’ quello di inserire un watermark (in italiano filigrana) nell’immagine, esistono diversi metodi per farlo, ve ne indichero’ tre. Ma prima di tutto dovete avere ben chiaro il tipo di licenza che andrete a utilizzare per la vostra immagine. Ne esistono diversi, prima di tutto scegliete tra il copyright e il copyleft. Tra i copyleft abbiamo la GNU Free Documentation License (GFDL) e le differenti licenze della Creative Commons (CC). Analizzate bene i testi delle diverse licenze e scegliete quella che fa al caso vostro. Ora possiamo creare il watermark e inserirlo nella nostra foto.

TESTO NELL’IMMAGINE CON UNO SCRIPT – Utilizzando questo metodo create uno script in Bash che vi consentira’ di sovrascrivere del testo nella foto, in questo modo licenza e proprietario della foto saranno sempre visibili, questo metodo lo trovate spiegato nel blog di Davide Alberelli nel post “Problemi di Copyleft? Aggiungiamo un watermark in 4 semplici passi con imagemagick“. Questo e’ lo script (ho modificato solo il font):

---8<---
#!/bin/bash
# watermark.sh
#
# Usage: ./watermark directory [watermark]
#
#Script that impress "watermark" on the photos in the directory
# passed as first argument.
#
#Author: Davide Alberelli [email protected]
#License and Warranty: GNU/GPL 3, can be found at the page http://www.gnu.org/licenses/gpl.html#
#For a full list of usable fonts, type in a terminal
# convert -list font
#
font="Courier-Bold"
dimensione=40
if [ $# -lt 2 ]; then
if [ "$1" == "-h" ]; then
echo "Usage: $0 directory [watermark]"
echo
echo "This script first make a backup copy of the files in the \
directory \"directory\" to the directory \"directory/Original_MM-DD-YY\"."
echo "In a second time it just add the string \"watermark\" in a \
fashion style to the .jpg files in the directory \"directory\"."
echo "If \"watermark\" is not passed then it would be assumed as (CC-BY-NC-SA) by $USER."
exit
elif [ -d "$1" ]; then
workdirectory=$1
watermark="(CC-BY-NC-SA) by $USER"
else
echo "Usage: $0 directory watermark"
echo "Type $0 -h for instructions"
exit
fi
else
workdirectory=$1
watermark=$2
fi
mkdir -p "$workdirectory"/Original_$(date +%m%d%y)
echo "Copying backup files..."
cp -r "$workdirectory"/*.jpg "$1"/Original_$(date +%m%d%y)
echo
echo "Adding watermark $watermark..."
for file in "$workdirectory"/*.jpg; do
`convert "$file" -font "$font" -pointsize $dimensione \
-draw "gravity southeast \
fill black text 3,8 '$watermark' \
fill grey text 1,11 '$watermark' " \
"$file"`
done
---8<---

Per vedere il risultato e per ulteriori informazioni visitate il post di Davide.

IMMAGINE NELL’IMMAGINE CON UNO SCRIPT – Con il secondo metodo utilizzerete uno script in Bash per inserire un’immagine che contiene licenza e nome del proprietario sopra la vostra foto. Lo script che vi presento e’ di Linerd, trovate tutta la spiegazione nel suo post “Batch Watermark Images in Linux“, ecco lo script:


---8<---
#!/bin/bash

###########################################
# NAME:		wm-new
# AUTHOR:	Linerd (http://tuxtweaks.com), Copyright 2009
# LICENSE:	Creative Commons Attribution - Share Alike 3.0 http://creativecommons.org/licenses/by-sa/3.0/
#		You are free to use and/or modify this script. If you choose to distribute this script, with or
#		without changes, you must attribute credit to the author listed above.
# REQUIRES:	ImageMagick, coreutils
# VERSION:	1.0
# DESCRIPTION:	A script to add a watermark to all images in a directory.
#		Original images will be retained and new watermarked images will be created.
#
###########################################

# Initialize variables
WM=$HOME/Documents/Watermark.png  # This is the path to your watermark image
SCALE=50                          # This sets the scale % of your watermark image

# Find all image files in current directory and watermark.
file -i * | grep image | awk -F':' '{ print $1 }' | while read IMAGE
	do
		echo Watermarking $IMAGE
		NAME=`echo $IMAGE | cut -f1 -d.`
		EXT=`echo $IMAGE | cut -f2 -d.`
		composite -dissolve 40% -gravity center -quality 100 \( $WM -resize $SCALE% \) "$IMAGE" "${NAME}_wm.${EXT}"
	done
exit 0
---8<---

Ovviamente dovete prima creare la vostra immagine Watermark.png.

IMMAGINE NELL’IMMAGINE DA TERMINALE – Infine il mio metodo preferito, senza script preconfezionati, tutto da terminale, cosi’ posso cambiare le opzioni senza dover di volta in volta modificare lo script. Vi chiamate Pinco Pallino e volete rilasciare la foto sotto licenza CC-by-sa, ecco cosa dovete fare per inserire il watermark apposito nella foto. Aprite un terminale e scrivete:
$ convert -background LightGrey -fill Black -font Courier-Bold -pointsize 20 label:'CC-by-sa 2011 Pinco Pallino' watermark.gif
Potete modificare il colore dello sfondo, quello del testo, il font e ovviamente il contenuto e la dimensione. Ad esempio, io preferisco lo sfondo trasparente se so che il colore del testo risultera’ visibile nella foto:
$ convert -background transparent -fill Black -font Courier-Bold -pointsize 20 label:'CC-by-sa 2011 Pinco Pallino' watermark.gif
Possiamo anche decidere di ruotare la scritta di 45 gradi prima di inserirla nella foto:
$ mogrify -rotate 45 watermark.gif

Ora che abbiamo la nostra bella immagine la usiamo per il watermark della foto:
$ composite -gravity southeast -dissolve 50% watermark.gif foto.jpg foto.jpg
Scegliete voi dove posizionare il watermark (northwest ad esempio lo mettera’ in alto a sinistra) e quale dissolvenza applicare. Ad esempio possiamo metterla al centro (in questo caso e’ meglio usare il watermark con sfondo trasparente):
$ composite -gravity center -dissolve 50% watermark.gif foto.jpg foto.jpg

Ecco un esempio, questa e’ la foto originale:

HowTo: Aggiungere un watermark nelle foto

Ora creo il watermark:
$ convert -background LightGrey -fill Black -font Courier-Bold -pointsize 20 label:'CC-by-sa 2011 Idl3' watermark.gif

HowTo: Aggiungere un watermark nelle foto

oppure:
$ convert -background transparent -fill Black -font Courier-Bold -pointsize 20 label:'CC-by-sa 2011 Idl3' watermark.gif
HowTo: Aggiungere un watermark nelle foto

Ora inseriamo il watermark con sfondo grigio nella foto col comando:
$ composite -gravity southeast -dissolve 50% watermark.gif foto.jpg foto.jpg

HowTo: Aggiungere un watermark nelle foto

Oppure col watermark con sfondo trasparente:
$ composite -gravity southeast watermark.gif foto.jpg foto.jpg

HowTo: Aggiungere un watermark nelle foto

Ora creiamo un watermark con sfondo trasparente e testo grigio chiaro:
$ convert -background transparent -fill LightGrey -font Courier-Bold -pointsize 20 label:'CC-by-sa 2011 Idl3' watermark.gif
Ruotiamolo di 45 gradi:
$ mogrify -rotate 45 watermark.gif
e mettiamolo al centro della foto:
$ composite -gravity center -dissolve 50% watermark.gif foto.jpg foto.jpg

HowTo: Aggiungere un watermark nelle foto

Ovviamente potete anche in questo caso crearvi uno script, molto utile se doveste automatizzare il processo per mettere il watermark in tutte le immagini contenute nella directory miefoto (prima dovete creare il file watermark.gif):


---8<---
#!/bin/bash

FILIGRANA="watermark.gif"
MIEFOTO="/home/nomeutente/miefoto"

for fn in `find $MIEFOTO -type f`
do
  echo "Doing... $fn"
  composite -gravity CENTER -dissolve 50% $FILIGRANA $fn $fn
done
---8<---

Ovviamente al posto di /home/nomeutente/miefoto inserite il percorso della directory che contiene le vostre foto. State attenti perche’ questo script andra’ a modificare le vostre foto senza prima crearne un backup. Ma potrete con poche modifiche allo script far si che prima di sovrascriverci il watermark vi crei il backup degli originali.

Fonti:


[^] torna su | post<li> | 

HowTo: Aggiungere un watermark nelle foto
 | 
Flattr this!



Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :