Post on 06-Jul-2020
UNIVERSIDAD DON BOSCO
VICERRECTORÍA DE ESTUDIOS DE POSTGRADO
MAESTRÍA EN MANUFACTURA INTEGRADA POR COMPUTADORA
SISTEMAS DE VISIÓN EN MANUFACTURA
Catedrático: Msc Manuel Napoleón Cardona Gutiérrez
GUÍA DE EJERCICIOS
Presenta
García Pérez, Sergio Miguel GP980067
Antiguo Cuscatlán, 16 de Diciembre de 2014
GUÍA DE EJERCICIOS
Clase del Martes 09/12/2014 (Archivo: 2. Fundamentos_de_imagenes.pdf)
Ejercicio No. 1.
Considerando la imagen peppers.png.
(a) Leala en Matlab y guardela en la variable img.
(b) ¿Qué sucede con la imagen img si se le aplica img2=img(1:2:end,1:2:end,:)?.
(c) Convierta la imagen img en tipo double, uint8, uint16. Grafíque con imshow y comente sobre los
resultados.
(d) Convierta la imagen img en escala de grises y a binaria y muéstrelas.
Solución.
(a)
Figura 1. Lectura y Muestra de Imagen Peppers
(b) Al utilizar dicha instrucción, hay una reducción de los pixeles en la imagen, ya que la lectura y el
muestreo que se ha colocado es desde el inicio hasta el final, con un “paso” de lectura de 2 en 2.
Figura 2. Reducción de pixeles en la Imagen Peppers
(c) La conversión y la muestra de las imágenes se
realiza directamente en Matlab con los comandos:
im2double, im2uint8, im2uint16.
Figura 3. instrucciones en Matlab para las diferentes
conversiones: doble, entero 16 sin signo, entero 8 sin
signo
La imagen original aparentemente no sufre ningún
cambio, al momento de convertirla a los tres
formatos que el literal nos solicita. Ya que la
matriz de la imagen original posee números
positivos, por lo que la conversión a enteros sin
signos, parece no sufrir ningún cambio.
Figura 4. Imagen Peppers en diferentes tipos
(d) Es de tener presente que, antes de realizar la conversión a imagen binaria, se debe realizar la
conversión a escala de grises.
Figura 5. Instrucciones en Matlab para conversión a escala de grises y binaria
Figura 6. Imagen Peppers, en escala de grises y binario
Convertir la imagen en escala de grises a tipo uint8 y uint16.
Figura 7. Instrucciones en Matlab para conversión a tipo entero 8 y entero 16
Figura 8. Imagen en Escala de Gris, a tipo entero 8 y tipo entero 16
Ejercicio No. 2.
Dada la imagen A del tipo double, convertirla a uint16 sin utilizar MATLAB.
A = [ 50 200; 150 70 ]
Si la imagen es del tipo double los valores que la conforman estarán en el intervalo [0 1]. Como la matriz A,
tiene valores mayores que 1, al convertirla a tipo uint16, sus elementos tendrán valores de 65535, que es el
máximo valor de los elementos en este tipo de matrices, así:
B = [ 65535 65535; 65535 65535]
Por lo que la matriz B es la matriz A pero en tipo uint16.
Ejercicio No. 3.
Supongamos que se tiene la imagen lena.bmp la cual tiene una dimensión de 512 x 512 píxeles, con 200
dpi. Se desea guardar la imagen en formato .tif y se desea reducir el tamaño a una dimensión de 1.28 x
1.28 pulgadas. Determine la sentencia en MATLAB para obtener lo solicitado.
Figura 9. Lectura de imagen y cambio de formato
Imagen original, 512 x 512 píxeles, con 200dpi.
dpi = dots per inch = pixel per inch
El tamaño de la imagen original, se calcula de la siguiente manera:
Por lo tanto, el tamaño de la imagen original es 2.56 pulgadas x 2.56 pulgadas.
Se desea un tamaño de la imagen de 1.28 pulgadas x 1.28
pulgadas y de 512 x 512 píxeles. Entonces lo que se debe de
conocer son los dpi que tendrá la imagen nueva. Así:
Entonces, la imagen de 512 x 512 pixeles y de 1.28 pulgadas x 1.28 pulgadas, tendrá 400dpi.
Figura 10. Comandos en Matlab para reducción de tamaño
Figura 11. Imagen Lena.bmp al 100% e Imagen Lena.bmp al 50%
Ejercicio No. 4.
Explique para que se utiliza los comandos impixelinfo y imdistline.
Dicha pregunta se resuelve con un help en Matlab.
Impixelinfo: Herramientas de información de pixel.
Crea una herramienta de información de píxeles en la figura actual
La herramienta información del píxel muestra información acerca de los píxeles en una imagen, en los
cuales el cursor está posicionado. La herramienta puede mostrar información de pixel para todas las
imágenes en una figura.
La herramienta de información del pixel es un objeto del panel, situado en la esquina inferior izquierda de la
figura, que contiene la cadena de texto "Pixel Info" seguido de la información del pixel. La información que
aparece depende del tipo de imagen. Si el cursor está fuera del área de imagen en la figura, la herramienta
de información píxel muestra la cadena predeterminada.
Figura 12. Imagen con Herramienta de Información del Pixel
Imdistline: Herramienta arrastrable de distancia.
Crea una herramienta arrastrable de distancia que actua en los ejes actuales. La función devuelve un
identificador de un objeto.
Figura 13. Ejemplo e imagen, uso de instrucción imdistline
Ejercicio No. 5.
Utilizando MATLAB, construir una imagen binaria de 120 x 200 píxeles que tenga franjas horizontales de 20
píxeles de anchura, distanciada por cada 20 píxeles.
Figura 14. Comandos en Matlab e Imagen creada
Ejercicio No. 6.
Construir una imagen similar al numeral anterior que tenga franjas verticales.
Figura 15. Comandos en Matlab e Imagen creada
Ejercicio No. 7.
Realizar una función que construya y visualice dos imágenes de 256 x 256 con variación del nivel de gris
en filas y columnas, tal como se muestran en la siguientes figuras.
Figura 16. Comandos en Matlab e Imagen creada
Se observa en la Figura 16, una notable linea vertical entre cada uno de las variaciones de niveles de gris.
Por lo que se toma la idea de los comandos ejecutados y se procede a crear un archivo m (grises.m) y su
respectivos resultados (código e imagen), se muestran en la Figura 17.
Figura 17. Generación de la imagen por medio de código m
Como se observa en la Figura 17, el resultado (imagen), ya es similar a lo planteado en el enunciado del
ejercicio.
De la misma manera se procede para la imagen que presenta las variaciones de niveles de gris de manera
horizontal.
Figura 18. Comandos en Matlab e Imagen creada
En la Figura 18, se observa el mismo detalle que se ha descrito anteriormente para la Figura 16.
Por lo que se genera un código m (grisesh.m) y los resultados, se muestran en la Figura 19.
Figura 19. Generación de la imagen por medio de código m
Para ambos casos, se programo una variación de niveles de gris, por columna (como se ve en la operación
dentro del lazo for) . Por ende el nivel de gris vario desde 1 hasta 256. Es decir, desde 0 (negro) hasta 1
(blanco).
Clase de Jueves 11/12/2014 (Archivo: 3. Procesamiento_part1.pdf)
Ejemplo 1.
0 123 82
10 0 10
10 0 10
(a) Dibujar el histograma original.
Se utiliza Matlab y se realiza en formato de barras.
Figura 20. Histograma original
En los siguientes pasos, se utilizará la siguiente fórmula para ecualizar el histograma original:
(b) Calcular el histograma acumulativo H(p).
(c) Calculo de K-1.
K=256, por tanto, K-1=255
(d) Calculo de MxN
La imagen tiene un tamaño de 3 x 3, por tanto M x N = 3 x 3 = 9
(e) Calculo de Feq.
Nueva Imagen
85 255 227
198 85 198
198 85 198
Figura 21. Histograma Ecualizado
Figura 22. Histograma Original e Histograma Ecualizado
De la Figura 22, se observa que al ecualizar el histograma original, se obtiene una distribución a lo largo de
todos los niveles de intensidad.
Ejercicio No. 1.
Imagen 3 x 4, con seis niveles de grises.
1 2 1
3 3 3
5 4 5
6 6 6
(a) Realizar el histograma original.
Figura 23. Histograma Original
(b) Nuevo valor de los píxeles.
En los siguientes pasos, se utilizará la siguiente fórmula para ecualizar el histograma original:
Y obtener el nuevo valor de los píxeles.
Nueva Imagen
1 2 1
4 4 4
5 4 5
7 7 7
Figura 24. Histograma Ecualizado
Figura 25. Histograma Original e Histograma Ecualizado
Ejercicio 2.
Determine el histograma original y ecualizado para una imagen de 3 bits de tamaño 64 x 64 píxeles la cual
tiene la siguiente distribución de intensidades.
rk 0 1 2 3 4 5 6 7
nk 790 1023 850 656 329 245 122 81
(a) Histograma Original.
Figura 26. Histograma Original
(b) Nuevo valor de los píxeles.
En los siguientes pasos, se utilizará la siguiente fórmula para ecualizar el histograma original:
Y obtener el nuevo valor de los píxeles.
Histograma Acumulativo
Histograma[0] = 790
Histograma[1] = 1813
Histograma[2] = 2663
Histograma[3] = 3319
Histograma[4] = 3648
Histograma[5] = 3893
Histograma[6] = 4015
Histograma[7] = 4096
K = 8
K-1 = 7
N = 64
M = 64
M x N = 4096
Figura 26. Histograma Ecualizado
F ecualizado
Histograma[0] = 1
Histograma[1] = 3
Histograma[2] = 5
Histograma[3] = 6
Histograma[4] = 6
Histograma[5] = 7
Histograma[6] = 7
Histograma[7] = 7
Figura 27. Histograma Original e Histograma Ecualizado