Procesamiento digital de imágenes

El procesamiento de imágenes digitales o filtro de imagen es el conjunto de técnicas que se aplican a las imágenes digitales con el objetivo de mejorar la calidad o facilitar la búsqueda de información.
Es el conjunto de técnicas englobadas dentro del preprocesamiento de imágenes cuyo objetivo fundamental es obtener, a partir de una imagen origen, otra final cuyo resultado sea más adecuado para una aplicación específica mejorando ciertas características de la misma que posibilite efectuar operaciones del procesado sobre ella.
Los principales objetivos que se persiguen con la aplicación de filtros son:
Por tanto, se consideran los filtros como operaciones que se aplican a los píxeles de una imagen digital para optimizarla, enfatizar cierta información o conseguir un efecto especial en ella.
El proceso de filtrado puede llevarse a cabo sobre los dominios de frecuencia y/o espacio.
Los filtros de frecuencia procesan una imagen trabajando sobre el dominio de la frecuencia en la Transformada de Fourier de la imagen. Para ello, esta se modifica siguiendo el Teorema de la Convolución correspondiente:
Teorema de la Convolución (frecuencia): G ( u , v ) = F ( u , v ) ∗ H ( u , v ) {\displaystyle G(u,v)=F(u,v)*H(u,v)}
F(u,v): transformada de Fourier de la imagen original.
H(u,v): filtro atenuador de frecuencias.
Como la multiplicación en el espacio de Fourier es idéntica a la convolución en el dominio espacial, todos los filtros podrían, en teoría, ser implementados como un filtro espacial.
Existen básicamente tres tipos distintos de filtros que pueden aplicarse:
Las operaciones de filtrado se llevan a cabo directamente sobre los píxeles de la imagen. En este proceso se relaciona, para todos y cada uno de los puntos de la imagen, un conjunto de píxeles próximos al píxel objetivo con la finalidad de obtener una información útil, dependiente del tipo de filtro aplicado, que permita actuar sobre el píxel concreto en que se está llevando a cabo el proceso de filtrado para, de este modo, obtener mejoras sobre la imagen y/o datos que podrían ser utilizados en futuras acciones o procesos de trabajo sobre ella.
Los filtros en el dominio del espacio pueden clasificarse en:
El concepto de núcleo se entiende como una matriz de coeficientes donde el entorno del punto (x,y) que se considera en la imagen para obtener g(x,y) está determinado por el tamaño y forma del núcleo seleccionado. Aunque la forma y tamaño de esta matriz es variable y queda a elección de cada usuario, es común el uso de núcleos cuadrados nxn. Dependiendo de la implementación, en los límites de la imagen se aplica un tratamiento especial (se asume un marco exterior de ceros o se repiten los valores del borde) o no se aplica ninguno. Es por ello, que el tipo de filtrado queda establecido por el contenido de dicho núcleo utilizado.
Para realizar un filtrado en el dominio del espacio se realiza una convolución (barrido) del núcleo sobre la imagen. Para ello se sigue el Teorema de Convolución en el espacio: g(x,y) = h(x,y) * f(x,y)
Se trata de la mejora de la imagen considerando los métodos de procesamiento que se basan solo en la intensidad de píxeles individuales. En lo que sigue llamaremos r y s a la intensidad de los píxeles antes y después del procesado. A continuación se presentan ejemplos de tratamiento de imagen por procesamiento de punto utilizando el software de acceso libre ImageJ:
-Negativos de imágenes: La idea de esta transformación es invertir el orden de blanco a negro, de forma que la intensidad de la imagen de salida disminuya conforme la intensidad de la imagen de entrada aumente. Mediante ImageJ es sencillo realizar el negativo de una imagen. Esta se conseguiría a partir de la lookup table, Invert LUT.
-Aumento del contraste:
La idea del aumento de contraste consiste en incrementar el rango dinámico de los niveles de gris de la imagen que se está procesando. La ubicación de los puntos (r1,s1) y (r2,s2) controla la forma de la función de transformación.
A partir de la opción "Calibrate" del ImageJ , diseño la función de transformación siguiente que me permite incrementar el contraste de la imagen original.
-Compresión del rango dinámico: Puede ocurrir que el rango dinámico de una imagen procesada excede la capacidad del dispositivo de presentación por lo que solo veremos las partes más brillantes de la imagen. Una manera de comprimir el rango dinámico en realizar una transformación de este tipo:
s=C·log(1+| r | )
Utilizando de nuevo el ImageJ, podemos diseñar una función de la forma anterior que nos permita comprimir el rango dinámico de una imagen. En este caso se ha utilizado el Plugin "Expresion NT" , definiendo una función de la forma:
s=100.log(1+| r | )
-Fraccionamiento del nivel de gris: Si se desea destacar un rango específico del nivel de gris de una imagen. se puede por ejemplo adjudicar un valor alto a todos aquellos niveles de gris del rango de interés y uno bajo a los restantes.
-Fraccionamiento de los planos de bits: A veces puede desearse destacar la contribución que realizan a la imagen determinados bits específicos en vez de un rango determinado, es lo que se consigue con esta transformación.
El proceso de interpolación está relacionado con el hecho de desear cambiar la tasa de muestreo de una señal discreta a una tasa menor o mayor con la que fue muestreada originalmente. El proceso con el cual se disminuye la tasa de muestreo de una señal discreta por un factor D se denomina decimación o submuestreo (downsampling) y el proceso con el cual se aumenta la tasa de muestreo de una señal discreta por un factor T se denomina interpolación (upsampling).
El orden del filtro indicará como se aproxima a través de un polinomio a la función representada por las muestras. Existen muchos filtros interpoladores y en el caso de imágenes estos se obtienen discretizando, en los valores deseados, los polinomios interpoladores. Los polinomios interpoladores utilizados frecuentemente son: líneas, cúbicos o bicúbicos. Un interpolador de orden cero básicamente efectúa un zoom duplicado. Un interpolador de orden lineal efectúa un zoom asignando el promedio de dos muestras a la muestra interpolada.
Existe también otro método de interpolación y es que se realiza en el dominio de la frecuencia. Uno de los principales fundamentos de las señales discretas es que el “zero padding” en un dominio resulta en un incremento de la tasa de muestreo en el otro dominio.
A partir de los avances en la computación cuántica, ha surgido una aplicación al procesamiento digital de imágenes denominado como procesamiento cuántico de imágenes, quantum image processing en inglés y abreviado como QIMP, que aún se encuentra en etapas iniciales de investigación y cuya mayor interrogante es cómo representar una imagen digital tradicional en un computador cuántico,​el cual procesa la información mediante cubits de la forma:
| ψ ⟩ = α | 0 ⟩ + β | 1 ⟩ {\displaystyle |\psi \rangle =\alpha |0\rangle +\beta |1\rangle }
donde | 0 ⟩ = ( 1 0 ) {\textstyle |0\rangle ={\begin{pmatrix}1\\0\end{pmatrix}}} , | 1 ⟩ = ( 0 1 ) {\textstyle |1\rangle ={\begin{pmatrix}0\\1\end{pmatrix}}} y α {\textstyle \alpha } y β {\textstyle \beta } son amplitudes que satisfacen | α | 2 + | β | 2 = 1 {\textstyle \left|\alpha \right|^{2}+\left|\beta \right|^{2}=1} ​
De los diferentes acercamientos para representar una imagen en un computador cuántico, se encuentra FRQI (Flexible Representation for Quantum Images), que captura la posición y el color de cada pixel dentro de un estado cúantico,​de la forma:
| I ⟩ = 1 2 n ∑ i = 0 2 2 n − 1 | c i ⟩ ⊗ | i ⟩ {\displaystyle |I\rangle ={\frac {1}{2^{n}}}\sum _{i=0}^{2^{2n-1}}|c_{i}\rangle \otimes |i\rangle }
donde | i ⟩ {\textstyle |i\rangle } representa la posición y | c i ⟩ = c o s θ i | 0 ⟩ + s i n θ i | 1 ⟩ {\textstyle |c_{i}\rangle =cos\theta _{i}|0\rangle +sin\theta _{i}|1\rangle } el color con un vector de ángulos θ i ∈ [ 0 , π / 2 ] {\textstyle \theta _{i}\in \left[0,\pi /2\right]} ​