# Restauración de imagen

La restauración de imagen (del inglés inpainting), es el proceso de mejorar la calidad de una imagen, compensando o eliminando las distorsiones y el deterioro de la imagen.
En el mundo digital, el objetivo del inpainting es traducir las técnicas manuales de los restauradores profesionales de cuadros a una versión digital de las mismas. Se pretende producir una versión revisada de la imagen en la que la región restaurada quede perfectamente fusionada en la imagen, en forma no detectable por un típico visor.
Para conseguirlo, es necesario utilizar sofisticados algoritmos para recuperar las regiones dañadas o pérdidas de la imagen a partir de la información disponible de su entorno. Por eso, esta técnica puede ser interpretada como un tipo especial de interpolación.

## Aplicaciones

Los objetivos y las aplicaciones de la restauración de imagen son numerosos. Este proceso permite eliminar el ruido, mejorar el brillo, el color y los detalles de una imagen.
En la fotografía y el cine, se utiliza para revertir el deterioro. Por ejemplo, la reconstrucción de fotografías (borrado de marcas de tiempo) o eliminación de manchas de polvo en la película de cine. También se utiliza para la eliminación de ojos rojos, de la fecha impresa de las fotos o la eliminación de objetos para producir efectos especiales.
Esta técnica también se puede usar para la recuperación de los bloques perdidos en la codificación y la transmisión de imagen (por ejemplo, en el caso de un streaming de video en el que por motivos de fluidez visual no se emplea retransmisión, resulta útil intentar reconstruir la información en el caso de que se perdiera algún paquete).

## Algoritmo

Las técnicas de restauración han evolucionado a lo largo del tiempo. Al principio se basaban en técnicas aplicadas en el dominio de la frecuencia. en la segunda década del siglo XXI se basan en métodos algebraicos y la manipulación de grandes sistemas de ecuaciones.
En general no existe una técnica universal de restauración de imágenes, sino que varía según la obra y el restaurador. Sin embargo, la base de la metodología es similar:
* La sección perdida o dañada se rellena utilizando información del resto de la imagen.
* La estructura de la zona circundante a la parte deteriorada es continuada hacia adentro de la región faltante, prolongando las líneas que llegan al borde.
* Las diversas regiones que se generan, dentro de la zona dañada, a partir de la prolongación de las líneas de contorno, son rellenadas con el color que se corresponda con el de la correspondiente región de la frontera.
* Finalmente, se pintan los pequeños detalles para mantener la uniformidad.
El algoritmo realiza repetidamente los pasos 2 y 3.

## Ejemplo

Para realizar el algoritmo se necesita traducir los conceptos del inpainting manual expresados anteriormente a lenguaje matemático.
Tengamos una imagen bidimensional en tonos de grises definida por:
$I_{O}(i,j):[0,M]\times [0,N]\rightarrow \mathbb {R}$ con $[0,M]\times [0,N]\subset \mathbb {N} \times \mathbb {N}$
Vamos a construir una familia de imágenes de la siguiente forma:
$I(i,j,n):[0,M]\times [0,N]\times \mathbb {N} \rightarrow \mathbb {R}$ de manera que $I(i,j,0)=I_{O}(i,j),\quad \textstyle \lim _{n\to \infty }I(i,j,n)=I_{R}(i,j)$.
Podemos escribir el algoritmo de forma general como:
$I^{n+1}(i,j)=I^{n}(i,j)+\Delta tI_{t}^{n}(i,j),\quad \forall (i,j)\in \Omega$
Donde:
* $I_{R}$ es la imagen recuperada.
* $^{n}$ determina el tiempo de restauración.
* $i,j$ son las coordenadas del píxel.
* $\Delta t$ es la tasa de mejora.
* $I_{t}^{n}(i,j)$ es la actualización de la imagen $I^{n}(i,j)$
* $\Omega$ es la región a ser restaurada.