Você está na página 1de 8

UNIVERSIDAD VERACRUZANA

Departamento de Inteligencia Artificial


TITULO

REDUCCION DE LA ESCALA DE GRISES


TAREA NMERO

3
PROFESOR

HECTOR GABRIEL ACOSTA MEZA.


FECHA DE ENTREGA

22/AGOSTO/2014
PRESENTA

ARTURO GETSEMANI ROA BORBOLLA


MOTIVACION
UNA IMAGEN PUEDE SER DEFINIDA POR UNA FUNCIN F(X, Y), DONDE
LOS VALORES X ,Y SON COORDENADAS ESPACIALES, Y EL VALOR DE F
EN (X,Y) ES CONOCIDO COMO INTENSIDAD O NIVEL DE GRIS DE LA
IMAGEN EN ESE PUNTO EL CUAL PUEDE VARIAR DESDE 0 A 255.

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial
FUNDAMENTOS TEORICOS.
La escala de grises es la representacin de una imagen en la que cada pixel se dibuja usando
un valor numrico individual que representa su luminancia, en una escala que se extiende entre
blanco y negro, En tratamiento digital de las imgenes, el trmino "escala de grises" se aplica al modo
de color en el que cada elemento (pxel o de otro tipo) se describe dentro de una serie limitada de
valores de un mismo tono neutro. En el caso de imgenes con una profundidad de 8 bits, los valores
posibles tericos son 256, as pues una imagen en la escala de grises es una matriz definida de M X
N valores donde el punto [M,N] tienen un valor de intensidad (Valor de gris) el cual es el nivel de gris.

METODOLOGIA

Se realizo la lectura para la comprensin de la escala de grises y una vez entendido el


termino, se detecto que el valor (de la escala de grises) es un entero sin signo (0,255) para lo cual,
realizando la aplicacin (y abuso) de la divisin de los enteros (truncado de datos), se puede realizar
la separacin de intervalos tan solo aplicando la formula Imagen2 = (Imagen/bits) * Bits,
sobreentendindose que (Imagen/bits * bits) es equitativo a multiplicar cada uno de los puntos [M,N]
de la imagen por la misma frmula, es decir, debido a que el mismo tratamiento se le dar a toda la
imagen en lugar de recorrerla punto por punto puede aplicarse la formula general.

RESULTADOS
Las imagen muestreada fue descargada del la pagina del libro de Gonzalez (adjunta
en la parte de referencias) en la parte de sample material, es la imagen de un crneo en escala de
grises, la cual al pasarle la formula dada anteriormente (Pidindole el usuario el numero de bits a ser
usados) varia en el nivel de grises de la figura. Los resultados del programa 3.1 (Con pregunta del
nivel de bits al usuario) se muestran en la figura 3.1, 3.2 y 3.3.

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial

Figura 3.1: Imagen del crneo con bits=5

Figura 3.2 : Imagen del crneo con bits= 1

Figura 3.3: Imagen del crneo bits=0 (Binario)

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial
La misma imagen procesada con el programa 3.2 da como resultado las imgenes 3.4 y 3.5.

Figura 3.4: Imagen del crneo con bits= 1,2,3,4,5,6,7 y 8.

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial

Figura 3.4: Imagen del crneo con bits= 2,4,6,8.


DISCUSIN
La escala de grises es la forma de representar una imagen en trminos de intensidad, dado
que ya sabemos que una imagen es una representacin de puntos de orden M X N y que cada punto
en la posicin M, N tiene un valor entre 0 y 255,en MATLAB, que es un programa para el tratamiento
de matrices se puede aplicar una formula a cada uno de los puntos o aplicarla de manera general a la
matriz, en estos programas se uso el tratamiento de la matriz directamente, la formula usada fue
Imagen2 = (Imagen/potenciadebit) * potenciadebit, debido a que, si los valores dados estn en el
rango de 0 a 255, se conoce por extencion que se habla de enteros de un byte sin signo
(representacin computacional) y por lo tanto, la divisin debe ser una divisin entera, valga la
redundancia, esto a su vez, significa que al dividir la matriz (o cada uno de sus puntos) sobre el valor
o numero de bits o que se est realmente haciendo es dividirla en rangos para despus asignarle a
cada rango su valor en la multiplicacin de la potencia.

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial
Ejemplo:

Si la el numero de grises (potencia de intensidad) es 32, entonces tenemos que


Si el valor M,N es : 28, entonces 28/32 = 0 (redondeo al entero base) * 32 = 0
Si el valor M,N es : 32, entonces 32/32 = 1 (redondeo al entero base) * 32 = 32
Si el valor M,N es : 63, entonces 63/32 = 1 (redondeo al entero base) * 32 = 32
Si el valor M,N es : 64, entonces 64/32 = 2 (redondeo al entero base) * 32 = 64
Por lo que el programa 3.1 pide un numero entero del 0 al 8, lo invierte (otra forma seria restar
la potencia a 256 para generar el rango) y genera la potencia de dos al nmero para hacer el
tratamiento de la imagen, despus se le pregunta al usuario si se desea imprimir la imagen original y
la escalada en un subplot (la pregunta se hace en forma binaria de 0 1 debido al desconocimiento
del uso de MATLAB).

Cdigo del programa 3.1


function output= ImageScaledGray (Image)
p=-1;
while p < 0 || p > 8
p=input('Dame un numero entre 0 y 8 \n');
end
level=8-p;
pot= 2^level;
res=input('Quieres que las dibuje 0,1 \n');
output = (Image/pot) * pot;
if res == 1
Subs(Image,output);
end
end

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial
El programa 3.2 realiza las mismas funciones del programa 3.1 pero de forma automtica, solo
preguntando al usuario si quiere disminuir de 8 a 4 imgenes para mejor visualizacin.

Cdigo del programa 3.2


function ScaleImage(I)
for i = 1 : 8
level=8-i;
pot= 2^level;
output = (I/pot) * pot;
subplot(4,2,i); imshow(output)
end
res = input('Ya se ha dibujado deseas que solo se dibujen 4. 0=no,1=si \n');
if res==1
close all
for i = 2:2:8
level=8-i;
pot= 2^level;
output = (I/pot) * pot;
display(pot);
display(i);
subplot(2,2,(i/2)); imshow(output)
end
end
end

UNIVERSIDAD VERACRUZANA
Departamento de Inteligencia Artificial
CONCLUSIONES
MATLAB es un lenguaje de programacin el cual trata a las imgenes como matrices de M,N,
debido a esa naturaleza puede tratarse (Realizar operaciones) punto por punto o de manera global
(Realizar la operacin a toda la matriz), esto ayuda por ejemplo en el uso del manejo de la escala de
grises, la cual es el valor en M,N desde 0 a 255, conociendo tambin esto, se sabe que se manejan
enteros sin signo, por lo cual pueden aplicarse operaciones de enteros como la divisin entera que
regresa el numero base de la divisin para poder asignar los rangos directamente.

REFERENCIAS
Gonzalez. (18 de Agosto de 2013). Digital Image Processing. Obtenido de
http://www.imageprocessingplace.com/DIP-3E/dip3e_sample_book_material.htm
Gonzales. (2008). Digital Image Processing. Prentice Hall.
MathWorks. (s.f.). MathWorks. Obtenido de http://www.mathworks.com/
StackOverflow. (18 de Agosto de 2014). Obtenido de http://stackoverflow.com/

Você também pode gostar