UNIVERSIDAD DON BOSCO VICERRECTORÍA DE ESTUDIOS DE … · realiza directamente en Matlab con los...

Preview:

Citation preview

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

Recommended