En otras entradas hemos tratado y utilizado los metadatos EXIF para recuperar información de fotografías.

Esta información que acompaña a la imagen, es muy util, sin embargo, en ciertos casos, como al compartirla en redes sociales o servicios de mensajería, es preferible suprimirla por seguridad y privacidad.

La verdad es que al aprenderlo se te queda la misma cara que cuando el mecanico afloja un tornillo y te cobra 50€, pero claro, hay que saber que tornillo aflojar.

Eliminar los datos EXIF es tan sencillo como abrir y guardar.

¿Cómo eliminar los metadatos?

De nuevo utilizamos PIL para tratar la imagen:

def exif_remove(filename):
	try:
		image = Image.open(filename)		
		image.save(filename)
	except:		
		debug.print_exception()
		return None

Esa es la función! XD

Para eliminar el contenido EXIF del archivo a.jpg:

exif_remove("a.jpg")

Y listo!

MMMM OK, pero, si esto es así, ¿significa esto que siempre que guarde una imagen tratada con PIL pierdo los datos EXIF?

¿Como guardo una imagen conservando los metadatos EXIF?

Pues por defecto si, para almacenar los datos EXIF hay que recuperarlos previamente e incluirlos de nuevo al guardar:

image = Image.open(filename)
# aqui trabajo con la imagen, aplico filtros, rotacion...
# ...
# y al guardar recupero los metadatos exif
imgexif = image.info['exif']
# e incluyo en el save un segundo parametro
image.save(fileOUT, exif=imgexif)

Saludos!

Puede que estas entradas sean de tu interés: