You are on page 1of 4

Visión Artificial, Instituto Tecnológico Metropolitano

Carlos A. Madrigal

EJERCICIOS DE OPERADORES UMBRAL

Ejercicio #3
Se carga una imagen en color y se transforma a escala de grises, al final se grafican las 2
imágenes.
1. Mat imagen, ImagenGris, imagenClonada;
2. namedWindow("Original",1);
3. namedWindow("Gris",1);
4. namedWindow("Clon",1);
5. imagen= imread("c:\\lena.jpg");
6. imagenClonada = imagen.clone();
7. ImagenGris.create(imagen.rows, imagen.cols, CV_8UC1);
8. cvtColor(imagen, ImagenGris, CV_RGB2GRAY);
9. imshow("Original",imagen);
10.

imshow("Gris",ImagenGris);

11.

imshow("Clon", imagenClonada);

12.

waitKey(10000);

13.

getchar();

14.

return 0;

En 1, se crea una estructura llamada Imagen, ImagenGris e imagenClonada del tipo
MAT.
En 2, 3 y 4 se crean ventanas llamadas “Original”, “Gris” y “Clonada”..
En 5 se lee la imagen "lena.jpg" y se guarda en Imagen.
En 6 se se realiza una copia de Imagen y se guarda en imagenClonada.
En 7 ImagenGris.create Crea un espacio en memoria con una resolución espacial igual a
la imagen cargada Imagen, pero con un solo canal (Para guardar imágenes en escala de
grises).
En 8 cvtColor Convierte la imagen a escala de grises haciendo una suma ponderada para
cada componente de color mediante la formula.
Gray= 0.2999 * R + 0.5870 * G + 0.1140 * B

Madrigal void cvtColor(InputArray src. ImagenUmbral. CV_YCrCb2BGR. XYZ. ImagenGris e imagenClonada.1). En 9. namedWindow("Umbral".128. CV_HSV2BGR… dstCn Número de canales en la imagen dst. int code. CV_XYZ2BGR. RGB.cols.create(imagen. En 13 se espera que se presione una tecla para cerrar la ventana. CV_GRAY2BGR. namedWindow("Original". . 10.jpg"). int dstCn=0) Convierte una imagen de un espacio de color a otro.CV_THRESH_BINARY). el número de canales es el de src y code. Ejercicio #4 En este ejercicio se aplica el operador umbral sobre la imagen. CV_8UC1).Visión Artificial. HSV. si este es 0. En 12 se espera 10seg para de visualización de la imagen. 4.ImagenUmbral). CV_BGR2XYZ. imagen. 8. Los argumentos de esta función son: src Imagen de entrada de 8 bits.imagen). CV_BGR2HSV. Bayer. OutputArray dst. 16 bits o punto flotante dst Imagen destino de la misma resolución en amplitud de src code Tipo de conversión de color. cvtColor(imagen. 2.255. el cual puede hacer conversiones entre espacios de color: Gris. ImagenUmbral. 6. 7. Para esto se utilizan los siguientes codigos de conversión CV_RGB2GRAY. Instituto Tecnológico Metropolitano Carlos A. 9. threshold(ImagenUmbral. imagen= imread("c:\\lena. ImagenUmbral. ImagenUmbral. 3.1). Lab. Mat imagen. imshow("Original". 5. imshow("Umbral". CV_RGB2GRAY). 1.rows. 11 imshow permite visualizar las imagenes guardadas en las estructuras Imagen. En 14 retorna un entero de la función main para salir. CV_BGR2YCrCb. YCrCb.

return 0. double Permite aplicar diferentes tipos de Operadores umbral a una imagen. waitKey(10000). 12. int type) src. debe ser del mismo tipo de src. dst Imagen destino. Instituto Tecnológico Metropolitano 10. OutputArray dst. double thresh. Permite escoger el tipo de operador umbral de la siguiente forma: type = THRESH_BINARY: ( ) { } type = THRESH_BINARY_INV: ( ) { } { } type = THRESH_TRUNC: ( ) . type usa cuando el argumento type es THRESH_BINARY.Visión Artificial. void Threshold(InputArray maxval. Los argumentos de esta función son: src Imagen de entrada de 8 bits o 32 bits en punto flotante. getchar(). Madrigal En 7 threshold permite aplicar el operador umbral a la imagen con umbral de 128 y un valor maximo de 255. thresh Valor de Umbral maxval Valor máximo. Carlos A. se THRESH_BINARY_INV. 11.

Madrigal type = THRESH_TOZERO: ( ) { } type = THRESH_TOZERO_INV: ( ) { } .Visión Artificial. Instituto Tecnológico Metropolitano Carlos A.