Un gradiente de imagen es un cambio direccional en la intensidad o el color de una imagen. El gradiente de la imagen es uno de los elementos fundamentales en el procesamiento de imágenes . Por ejemplo, el detector de bordes Canny utiliza el gradiente de imagen para la detección de bordes . En el software de gráficos para edición de imágenes digitales , el término gradiente o gradiente de color también se utiliza para una mezcla gradual de color que puede considerarse como una gradación uniforme de valores bajos a altos, como se utiliza del blanco al negro en las imágenes de la derecha. Otro nombre para esto es progresión de color .
Matemáticamente, el gradiente de una función de dos variables (aquí la función de intensidad de la imagen) en cada punto de la imagen es un vector 2D con los componentes dados por las derivadas en las direcciones horizontal y vertical. En cada punto de la imagen, el vector de gradiente apunta en la dirección del mayor aumento de intensidad posible, y la longitud del vector de gradiente corresponde a la tasa de cambio en esa dirección. [1]
Dado que la función de intensidad de una imagen digital solo se conoce en puntos discretos, no se pueden definir derivadas de esta función a menos que supongamos que existe una función de intensidad continua subyacente que se ha muestreado en los puntos de la imagen. Con algunas suposiciones adicionales, la derivada de la función de intensidad continua se puede calcular como una función de la función de intensidad muestreada, es decir, la imagen digital. Se pueden definir aproximaciones de estas funciones derivadas con distintos grados de precisión. La forma más común de aproximar el gradiente de la imagen es convolucionar una imagen con un kernel, como el operador de Sobel o el operador de Prewitt .
Los gradientes de imagen se utilizan a menudo en mapas y otras representaciones visuales de datos para transmitir información adicional. Las herramientas SIG utilizan progresiones de color para indicar la elevación y la densidad de población , entre otros.
En la visión artificial , los gradientes de imagen se pueden utilizar para extraer información de las imágenes. Las imágenes con gradientes se crean a partir de la imagen original (generalmente mediante convolución con un filtro, uno de los más simples es el filtro Sobel ) para este propósito. Cada píxel de una imagen con gradiente mide el cambio de intensidad de ese mismo punto en la imagen original, en una dirección dada. Para obtener el rango completo de direcciones, se calculan imágenes con gradientes en las direcciones x e y.
Uno de los usos más comunes es la detección de bordes. Una vez calculadas las imágenes de gradiente, los píxeles con valores de gradiente altos se convierten en posibles píxeles de borde. Los píxeles con los valores de gradiente más altos en la dirección del gradiente se convierten en píxeles de borde, y los bordes se pueden rastrear en la dirección perpendicular a la dirección del gradiente. Un ejemplo de un algoritmo de detección de bordes que utiliza gradientes es el detector de bordes Canny .
Los gradientes de imagen también se pueden utilizar para lograr una correspondencia sólida de características y texturas. Diferentes propiedades de iluminación o de cámara pueden provocar que dos imágenes de la misma escena tengan valores de píxeles drásticamente diferentes. Esto puede provocar que los algoritmos de correspondencia no logren hacer coincidir características muy similares o idénticas. Una forma de resolver esto es calcular las firmas de texturas o características en función de las imágenes de gradientes calculadas a partir de las imágenes originales. Estos gradientes son menos susceptibles a los cambios de iluminación y de cámara, por lo que se reducen los errores de correspondencia.
El gradiente de una imagen es un vector de sus parciales : [2] : 165
dónde:
La derivada de una imagen se puede aproximar mediante diferencias finitas . Si se utiliza la diferencia central, para calcularla podemos aplicar un filtro unidimensional a la imagen mediante convolución :
donde denota la operación de convolución unidimensional. Este filtro 2×1 desplazará la imagen medio píxel. Para evitarlo, se utiliza el siguiente filtro 3×1
Se puede utilizar. La dirección del gradiente se puede calcular mediante la fórmula: [2] : 706
y la magnitud viene dada por: [3]