ELIMINACIÓN DE
  MARCAS
  DE AGUA


   Creado
   17 Jun 2007


   


© Guillermo Luijk 2007



MODELADO DE UNA MARCA DE AGUA

A raiz de ver la siguiente imagen panorámica de la Ciudad de las Ciencias de Valencia en el foro de Ojo Digital, que fue subida por su autor a tamaño gigante (se componía de 12 imágenes) pero con una marca de agua como protección ante copias no autorizadas, se me ocurrió que no debía ser muy complicado idear un algoritmo que eliminase la marca de agua.


Fig. 1 Panorámica de la Ciudad de las Ciencias de Valencia (foto sin marca de agua).


Para llegar a una ecuación matemática que permita restaurar el color original de los píxeles afectados por la marca me he basado en las siguientes 2 premisas:

PREMISA 1

Una marca de agua es una imagen que se superpone con cierto grado de transparencia a la imagen original, de modo que el color de cada píxel final es una combinación lineal del color de la imagen original y la marca de agua:

   [color final] = p * [color original] + (1 - p) * [color marca]

siendo 0 < p < 1 el grado de transparencia de la marca; a mayor p menos visible será la marca. Para obtener el color original habría que despejar:

   [color original] = ([color final] - (1 - p) * [color marca]) / p

Expresión que se replicaría de manera independiente para cada canal.


PREMISA 2

En todos sus píxeles la marca de agua presenta un color uniforme y además se superpone a la imagen original con un grado de transparencia también uniforme. Por tanto las anteriores incógnitas [color marca] y p son constantes en todas las zonas afectadas por la marca.

~~~


Así solo tenemos que calcular esos dos parámetros, y para ello podemos tomar dos zonas cualesquiera de la imagen donde tengamos tanto el color original como el resultado de aplicar la marca, típicamente en zonas de color original uniforme atravesadas por la frontera de la marca. Se formaría así un sistema de dos ecuaciones con dos incógnitas que aunque no es lineal se resuelve de inmediato:

   f1 = p * a1 + (1 - p) * m
   f2 = p * a2 + (1 - p) * m

   a=[color original], f=[color final], m=[color marca], p=transparencia, 1,2=zona evaluada

que resolviendo queda:

   p = (f1 - f2) / (a1 - a2)
   m = (f1 * a2 - f2 * a1) / (f1 - f2 - a1 + a2)

Este sistema se puede calcular para cualquier doble pareja de píxeles que se nos ocurra. Se puede resolver para muchas parejas de píxeles y promediar los resultados, o bien se puede promediar el color de dos zonas uniformes y entonces resolver, todo ello con el fin de reducir la varianza.

Lo cierto es que ha bastado usar 4 píxeles para tener perfectamente caracterizada la marca que empleó el autor y resolver el sistema de ecuaciones. Obtenidas las incógnitas no habría más que aplicar para restaurar la imagen original y eliminar el efecto de la marca la expresión antes vista a todos los píxeles marcados:

   a = (f - (1 - p) * m) / p


EJEMPLO DE APLICACIÓN REAL

Aplicamos el algoritmo de caracterización visto a la imagen real con marca de agua. Fotografía por cortesía de su autor rubichi, de la que solo se muestra un fracción (pasar el ratón por encima de la imagen para "eliminar" la marca de agua):


Fig. 2 Eliminación de marca de agua (pasar ratón por encima de la imagen).


Como resultado se obtiene la imagen libre de marca de agua, y con el color original restituido hasta el punto de hacerse indistinguibles cuáles fueran las zonas fronterizas entre la parte de imagen marcada y la que no lo estaba.


CONCLUSIÓN

Para preservar la autoría de los trabajos se debe tener cuidado con el tipo de marcas de agua empleadas. El algoritmo mostrado aplica solo a marcas de agua que cumplan las premisas de uniformidad de color y transparencia vistas, que por otro lado son las de uso más habitual. Por ello si la marca hubiera tenido un cierto degradado, cambios de color, un borde considerable,... el método no habría servido.

En cualquier caso lo más aconsejable es que nunca se ponga a disposición de los demás en Internet ninguna imagen a un tamaño tal que en caso de eliminar la correspondiente marca de agua hiciera el archivo utilizable para impresión u otros fines.

Periódicamente me contactan personas para que les ayude a eliminar marcas de agua de fotografías. Ruego abstenerse de hacer tal cosa. Este artículo pretende precisamente ser una llamada de atención para evitar el uso ilegal de material fotográfico ajeno, y si alguien está interesado en una determinada fotografía con una marca de agua lo que debe hacer es contactar con el autor.


~~~


Si este contenido te ha resultado útil, considera realizar una contribución para asegurar la continuidad de esta web. Mantenerla supone un importante esfuerzo, así como un espacio y ancho de banda considerables en el servidor. Es una operación sencilla y totalmente segura.



gluijk@hotmail.com
  CURIOSIDADES

HOME