“Benemérita Universidad Autónoma
de Aguascalientes”
Centro de ciencias de la ingeniería
Ingeniería biomédica
“Práctica 2. Transformación de intensidad I”
Alumnos; Correo e.:
Christian Guadalupe Herrera Martínez al296067@[Link]
Andrea Alejandra García Díaz al294281@[Link]
Miguel Alberto Rueda Juárez al292411@[Link]
Martín Alfredo Martínez Rivera al244413@[Link]
Arturo Vargas Chávez al292299@[Link]
David Alfredo Velasco Pérez al295993@[Link]
Grado y grupo: 6.- A
Profesor: Alfredo Ramírez García
20 de febrero del 2023
Objetivo
Manipular una imagen digital mediante las transformaciones de intensidad
conversión de niveles de gris, complemento de una imagen y umbralización.
Introducción
En el presente capítulo se describe el cambio de contraste como una opción de
preprocesamiento para mejorar la calidad de la imagen con lo que se busca obtener
mejores resultados al utilizar el método de segmentación
Las transformaciones de intensidad modifican el contraste relación entre valores de
intensidad y el brillo distribución de valores intensidad. (a) Regiones de alto (cuadro
superior) y bajo (cuadro inferior) contraste y (b) región oscura (mitad izquierda) y
brillosa (mitad derecha).
➢ La umbralización es uno de los más importantes métodos de segmentación.
El objetivo es convertir una imagen en escala de grises a una nueva con sólo
dos niveles, de manera que los objetos queden separados del fondo.
➢ En el complemento de una imagen en escala de grises o en color, cada valor
de píxel se resta del valor máximo de píxel compatible con la clase (o 1,0
para imágenes de doble precisión). La diferencia se utiliza como valor del
píxel de la imagen de salida.
➢ En esta parte se estudiará la conversión de una imagen en color a escala de
grises, el equivalente a la luminancia de la imagen. Como ya sabemos el ojo
percibe distintas intensidades de luz en función del color que se observe, esto
es debido a la respuesta del ojo al espectro visible la cual se puede observar
en la figura, por esa razón el cálculo del equivalente blanco y negro (escala
de grises o luminancia) de la imagen debe realizarse como una media
ponderada de las distintas componentes de color de cada pixel.
Materiales
▪ Ordenador con el software MATLAB
▪ 3 imágenes otorgadas por el profesor y externas
Metodología
La practica se dividió en cuatro secciones cada una de ellas desarrollada por
su propio método:
Método uno:
El primer método fue el de niveles de grises, en esta se desarrollo de la siguiente
forma: se cargo la imagen de tres dimensiones, a esta imagen se convirtió en un
double, después de esto se utilizo el comando de los tres colores (rojo, verde y azul)
al obtener ya cada uno de estos colores se sumo y se dividió entre tres todo en una
variable externa. Al obtener esta variable se mostró con el comando figure,
imshow(ma2tgray).
Método dos:
Este método 2 conocido como el de ponderación, se desarrollo cargando una
imagen de tres dimensiones, después de cargar la imagen a esta misma se le aplico
un double, después se obtuvieron los colores respectivamente siendo rojo, verde y
azul, se creo una variable extra donde cada uno de los colores fue multiplicado por
su constante siendo rojo por 0.3, verde por 0.59 y azul por 0.11. al finalizar esto a la
anterior variable se le mostro en Matlab.
Tercer método:
En el tercer método fue inverso, lo que se busco fue restar el máximo pixel por todos
los demás pixeles, la forma de desarrollarlo fue la siguiente, se hizo como una
función, primero se creo la variable i max donde se capturaría el número máximo de
la imagen cargada, después se creo una variable matriz para poder recorrer pixel
por pixel, se creó dos variables igualándolas a 1 para ir pixel por pixel. Se creo dos
ciclos for el primer ciclo for fue para filas el segundo for para columnas, dentro del
segundo ciclo for se metió la fórmula del inverso siendo B(x,y) = imax – i(i,j); se resta
el número máximo obtenido de la matriz por cada uno de los pixeles de la matriz.
Después de esto se mostro la imagen resultante en Matlab.
Cuarto método:
En el cuarto método siendo umbralización, se creó una función donde se metieron
cuatro variables siendo I, P0, PL, PTH estas variables son las que desarrollaran la
imagen, dentro de la función se creo una variable matriz con f y c después de esto
se creó 2 ciclos for el primero de filas y el segundo de columnas, dentro del de
columnas se desarrolló la fórmula de la umbralización, se creó un ciclo if que
comparaba la matriz con pth siendo igual o mayor, después de esto si cumplía el
requerimiento se igualaba a pl en cambio si esto no pasaba el pixel era igualado a
P0, después de esto se igualo una nueva variable a I y se mostraba la nueva variable
metiéndola en imshow. P0, PL Y PTH son puestas por el usuario.
Resultados
Primer apartado
Método de
niveles de grises
Imagen 1.0 imagen Imagen 2.0 imagen después
original llamada [Link] de la conversión a grises
Segundo apartado
Método de
ponderación de
colores
Imagen 3.0 imagen original Imagen 4.0 imagen después
llamada [Link] de la ponderación
Sección tres
Método de
inverso o
complemento de
imágenes
Imagen 5.0 imagen original Imagen 6.0 imagen original
llamada [Link] llamada [Link] inverso
Cuarta sección
Método de
umbralización
Imagen 7.0 imagen original Imagen 8.0 imagen original
llamada [Link] llamada [Link] umbralizacion
código
Primera sección Segunda Tercera Cuarta sección
(Niveles de grises) sección sección (umbralización)
(ponderació (inverso o
n) complement
o)
function img = function function [B] function [B] =
grises(A) img= = inverso(I) umbralisacion(I,p0,p1,p
A = double (A); ponderacion( Imax = th)
figure, imshow(A); I) max(max(I)); [F,C]= size(I);
R = A(:,:,1); I = [f,c]= figure, imshow(I);
G = A(:,:,2); double(I); size(I); for i=1:F
B = A(:,:,3); rojo = x=1; for j=1:C
I = (R+G+B)/3; I(:,:,1); y=1;
imshow(mat2gray(I) verde = for i=1:f if I(i,j)
); I(:,:,2); for >=pth;
end azul = j=1:c I(i,j) =
I(:,:,3); B(x,y)= p1;
img = Imax - else
(0.3*rojo) + I(i,j); I(i,j)=p0;
(0.59*verde) y=y+1; end
+ (0.11 * end end
azul); y=1; end
figure, x=x+1; B=I;
imshow(img); end figure, imshow(B)
end figure, end
imshow(B);
end
Tabla 1.0 (códigos)
Conclusiones
De acuerdo a lo desarrollado anteriormente, pudimos ver como se trasforma la
intensidad de las imágenes, en esta práctica desarrollada pudimos identificar
diferentes puntos sobre el manejo de las imágenes. Durante el desarrollo obtuvimos
nuevas habilidades siendo una de las principales que fue el manejo de las matrices.
Las complicaciones de las practicas fueron casi nulas, solo se dificulto muy poco la
lógica de programación, pero todo salió como esperado era.
La dificultad que tuvimos, fue las ideas, ya que cada uno de los integrantes tiene
diferentes formas de programar.
Integrante del equipo Participación
Christian Guadalupe Herrera Martínez Participación en la creación del código
función de niveles de grises e
umbralización.
Andrea Alejandra García Díaz Participación en la creación y desarrollo
del código de ponderación.
Miguel Alberto Rueda Juárez Participación en la implementación del
documento, y apoyo en los cuatro
códigos.
Martín Alfredo Martínez Rivera Participación en el desarrollo del código
de umbralización.
Arturo Vargas Chávez Participación en la creación del código
de inverso y desarrollo del documento.
David Alfredo Velasco Pérez Creación del código de inverso.
Tabla 2.0 (participación)
Bibliografías
Curso de Procesado de Imagen (c)GPI. (s. f.).
[Link]
Rafael C. González and Richard E. Woods, “Digital Image Processing”, second
Edition, Inc., New Jersey, Prentice- Hall, USA, pp. 75-76, 2002.