en Escala de Grises. Daniel Ornelas Barboza ITESI Ing. Mecatrónica, Visión Computacional danielornelas483@gmail.com
Resumen – Se verá el cómo ajustar el brillo en imágenes II. DESARROLLO
digitales, lo haremos solo para imágenes en escala de grises A. Aumento de brillo de una imagen en escala de grises con 8 bits de profundidad, pero creemos que la metodología es muy similar además de sencilla, si se quiere De la ecuación 1 tomamos que a es el aumento o disminución hacer para imágenes en algún espacio de color, o con de brillo de una imagen, será un numero positivo para diferente rango dinámico. Analizaremos los resultados al aumentar y un numero negativo para disminuir, también como modificar el brillo en imágenes con ayuda de histogramas ya mencionamos no tendrá caso dar valores mayores a 255 y de frecuencias. menores a -255. Desarrollamos una sencilla función en MATLAB llamada AjstB, la cual tiene como argumentos de I. INTRODUCCIÓN entrada alguna imagen en escala de grises y el numero deseado de aumento y disminución. Primeramente, hay que entender el concepto de brillo de una manera simple, por tanto, podemos decir que el brillo es que También para desarrollarla tomamos en consideración que el tanta intensidad de luz emite algo, pueden ser objetos, o para rango dinámico solo abarca de 0 a 255, entonces que pasa si nuestro interés imágenes. Por ejemplo, que sucede cuando ingresamos por ejemplo un aumento de 100 y hay pixeles con modificamos el brillo en las pantallas de nuestros teléfonos, un valor de 200, el valor en estos pixeles seria de 300 y esto pues simplemente al ir aumentando el brillo nos va sobrepasa al rango dinámico, por esto se hizo la función de tal deslumbrando cada vez más por decirlo así, sobre todo si forma que cualquier valor mayor a 255 se vuelva este mismo e estamos en un lugar con poca luz, tenerlo muy alto puede igualmente cualquier valor menor a 0 tome esta intensidad. incluso llegar a ser molesto, mientras que si lo disminuimos, lo que se muestra en pantalla comienza a tornarse más oscuro y en algunos casos, según el ambiente donde nos encontremos III. PRUEBAS Y RESULTADOS se pierde casi toda la visibilidad de lo que esta en la pantalla del dispositivo. Podemos suponer con total seguridad que una Decidimos hacer pruebas con 3 imágenes, para aumentar o imagen ira aumentando su brillo si hacemos que sus pixeles disminuir el brillo de estas con valores dados por nosotros, vayan tomando intensidades cada vez más cercanas al máximo para conveniencia una imagen clara, otra oscura y una más de valor del rango dinámico que pueda tener una imagen, de esta la que comprobemos previamente que tiene un histograma forma adquirirá mas claridad. distribuido de manera relativamente uniforme. Nos extenderíamos mucho si se muestran pruebas con varios Si estamos trabajando con imágenes en escala de grises, con aumentos y disminuciones, así que creemos que con probar rango dinámico de 0 a 255, simplemente se disminuirían o con un valor de aumento y otro de disminución es suficiente aumentarían las intensidades de los pixeles para cambiar el para dar una buena prueba que avale la manera en que estamos brillo, si nos detenemos un momento a pensar, para este rango abordando él concepto. Usaremos H para abreviar histograma. dinámico no tendrá caso cambiar el brillo aumentando las intensidades en más de 255 y disminuirlo en más de esta cantidad y aun así no tendría mucho caso ya que muy probablemente se generarían imágenes totalmente en negro o en blanco. Obviamente, mientras más brillo las intensidades de los pixeles se irán aproximando al color blanco 255 y a menor brillo hacia el negro (0).
[1]Es posible aumentar el brillo a una imagen sumándole un
valor constante a cada píxel, lo cual se realiza de la forma Figura. 1 Imagen de Prueba "oscura". B( x, y ) = A( x, y ) + a (1) 2
La Figura. 3 muestra los resultados de procesar, la imagen
“clara” de la Figura. 3, suceden cosas muy parecidas del caso anterior, pero de manera inversa.
Figura. 2 Resultados de la imagen "oscura", a) Imagen
resultante de disminuir el brillo en 50, b) Imagen original, Figura. 5 Imagen de prueba 3. c) Imagen resultante de aumentar el brillo en 150, d) H de a), e) H de b), f) H de c).
La Figura. 2 muestra los resultados de procesar la imagen de
la Figura. 1, vemos como al disminuir el brillo, se mueven la mayoría de los pixeles hacia la intensidad 0, incluso en la imagen original ya sucede esto, pero en menor manera, si disminuyéramos en un valor más grande muy probablemente la imagen se hubiera tornado totalmente en negro, viendo el histograma de la imagen original, con disminuir en aproximadamente 100 hubiera sucedido esto, al aumentar el brillo en 150 el histograma se cargo a la izquierda, una observación es que el histograma mantiene la misma forma y solo se desplaza, . Figura. 6 Resultados de la imagen de prueba 3", a) Imagen resultante de disminuir el brillo en 100, b) Imagen original, c) Imagen resultante de aumentar el brillo en 100, d) H de a), e) H de b), f) H de c).
La Figura. 6 contiene los resultados de trabajar con la imagen
de prueba 3, aunque ya sea una imagen mas uniforme el efecto es el mismo, aunque es esta se pierde mas el contraste de la imagen original, en las anteriores en alguno de los 2 casos de mantuvo, esto se aprecia en la forma de los histogramas ya que solo se desplazan.
Figura. 3 Imagen de prueba "clara". IV. CONCLUSIÓN
De los resultados obtenidos nos queda claro como se distribuyen los datos al modificar el brillo, y como se modifica visualmente la imagen, tornándose mas oscura o más clara según sea el caso, algo que queda en duda es como crear un método en el cual podamos por ejemplo tener un rango de 0 a 100% para modificar el brillo, donde la imagen original tenga el 50%, en menos de 50% la oscurezca y mas de 50% la aclare, pero de tal manera que no se modifique e contraste original de la imagen, ósea que por ejemplo al 0% o 100% la imagen siga manteniéndolo, si se logra hacer, el histograma solo se desplazaría ala izquierda o ala derecha pero manteniendo siempre la misma forma. Figura. 4 Resultados de la imagen "clara", a) Imagen resultante de disminuir el brillo en 150, b) Imagen original, REFERENCIAS c) Imagen resultante de aumentar el brillo en 150, d) H de [1] Elizondo, J. J. (Noviembre de 2002). Fundamentos de a), e) H de b), f) H de c). Procesamiento de Imágenes. Obtenido de Amazon s3: s3.amazonaws.com 3
ANEXOS
A1. Código de la función AjstB.
function [Ib] = AjstB(I,x)
%Esta función devuelve una imagen con un ajuste de brillo deseado, para %imagenes con rango dinamico de 0 a 255. % %Ejemplo: % %Ib = AjstB(I,n) % %Donde I es la imagen original y n es ajuste a la imagen, si es negativo le %restara brillo a la imagen y si es positiva lo aumentara.
%Se suma el respectivo ajuste y se
redondea a enteros de 0 a 255. Ib = uint8(I+x); end