Ejercicio2 Manipulacion Basica Imagenes

Embed Size (px)

Citation preview

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    1/12

    Taller: Manipulacin Bsicas de imgenes

    Nombre: EDITH GARCE

    Cdigo: !"#!"$

    %ec&a: ''(''(!)'*

    +b,e-i.o

    El objetivo de este taller es explorar las tcnicas bsicas de manipulacin deimgenes utilizando MATLAB y !T"

    +b,e-i.os

    # Explora los di$erentes tipos de imagen compatibles con MATLAB y !T

    # Aprenda a leer las imgenes en MATLAB# Explora conversin de la imagen"

    # Aprenda cmo mostrar imgenes

    # Aprenda a escribir imgenes en el disco"

    /rocedimien-o

    El !T es compatible con imgenes de tipo binario% indexado% intensidad y

    color" Antes de &ue una imagen pueda ser procesada en MATLAB% primero sedebe cargar en la memoria" !ara leer una imagen% se utiliza la $uncinimread"

    '" (argue la imagen coins0pngmediante la ejecucin de la siguientedeclaracin)

    * imread +,coins"png,-.

    Pregunta 1

    Qu tipo de imagen es coins.png?

    (olorType) grayscale

    Pregunta 2

    Por qu utilizamos el operador punto y coma (;) despus de la declaracin imread? Qu

    sucede si lo omitimos?

    /e utiliza para evitar &ue se muestre el resultado de la variable en elcommand 0indo0. si omitimos el punto y coma se mostrar la matrizcompleta de la imagen"

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    2/12

    Imgenes inarias! de intensidad y color pueden ser le"das con la #uncinimreadcomo se $a

    demostrado anteriormente. %l leer una imagen inde&ada! de'emos especi#icar las aria'les!

    tanto para la imagen y su mapa de color. sto se ilustra en el siguiente paso*

    1" (argue la imagen trees.tif"

    23% mapa4 * imread +,trees"ti$,-.

    Algunas operaciones pueden re&uerir convertir una imagen de un tipo aotro" !or ejemplo% la realizacin de los ajustes de imagen en una imagenindexada puede no dar los resultados buscados por&ue los clculos serealizan sobre los valores del 5ndice y no los valores 67B representativos"!ara 8acer esta tarea $cil% podemos convertir la imagen indexada a unaimagen 67B utilizando ind1rgb"

    9" (onvertir la imagen indexada 3 con el mapa de colores mapa unaimagen 67B% 3:rgb"

    3:rgb * ind1rgb +3% mapa-.

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    3/12

    pregun-a 1

    ;(untas dimensiones tiene la variable 3:rgb y cules son sus tama

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    4/12

    max +3:gray +)-- ans * 1??

    min +3:gray +)-- ans *

    pregun-a *

    ;!or &u estamos obligados a utilizar el operador dos puntos +)- alespeci>car la variable 3:gray= ;Cu sucede si lo omitimos=/i omitimos los dos puntos nos mostrar todos los valores mximos om5nimos en todas las columnas"

    /e demostr en el paso anterior &ue la imagen 3:gray conten5a valores enel rango 2% 1??4 +en esta imagen en particular% pas a ser exactamente y1??% &ue es slo una coincidencia-" Damos a ver lo &ue sucede cuandoconvertimos la imagen a clase double"

    " convierta la variable gris 3:gray a clase double"

    3:gray:dbl * im1double+3:gray-.

    pregun-a #

    ;(ul es el rango de valores para la nueva variable 3:gray:dbl=

    max +3:gray:dbl +)-- ans * '

    min +3:gray:dbl +)-- ans *

    Fel mismo modo% puede convertir a otros tipos de clase utilizandoim2uint8y im2uint16% por ejemplo" Al convertir una imagen uint' auint@% 8ay &ue tener cuidado por&ue la conversin cuanti>ca los ?"?9valores posibles a 1? valores posibles"

    MATLAB viene con $unciones integradas &ue presentan imgenes" La $uncinimagese puede utilizar para mostrar los datos de una imagen y la $uncin

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    5/12

    imagescllevar a cabo la misma operacin pero adems escala los datosde la imagen a su rango completo de valores" El !T o$rece una $uncin deimagen &ue muestra una mayor optimizacin de ajustes sobre los ejes de laimagen para proporcionar una mejor visualizacin de los datos de laimagen) imshow"

    G" Htilice la $uncinimshow+con la opcin impixelinfo- para mostrar laimagen coins.png&ue est cargada actualmente en la variable "

    imshow(I), impixelinfo

    mgenes Binarias% intensidad y color se pueden mostrar como se 8ademostrado anteriormente" !ara mostrar imgenes indexadas% debemosespeci>car el mapa de color junto con los datos de la imagen"

    @" Muestre la imagen indexadatrees.tif" Los datos de imagen se

    almacenan en la variable 3 y el mapa de color en el map" Tenga en cuenta&ue la opcin impixelin$o proporciona un indicio claro &ue esta es unaimagen de color indexado"

    imshow(X, mapa), impixelinfo

    pregun-a 2

    (onsidere una imagen donde el rango de posibles valores para cada pixel no

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    6/12

    es 2% 1??4% en cambio posee una gama no estndar de 2% II4" ;(mopodemos mostrar la imagen de modo &ue un valor de II representa elblanco y un valor de representa negro=

    X = uint16([0 109 204; 68 10 70; 50 255 120])fmax = max(X(:));

    fmin = min(X(:));Za = uint8(99.0*dou!"((X#fmin))$dou!"((fmax#fmin)))

    X = 0 109 204 68 10 70 50 255 120

    Za = 0 42 79 26 4 27 19 99 47

    La $uncin impixelpermite la inspeccin de los contenidos de los p5xelesseleccionados de inters dentro de la imagen"

    I" Htilice la $uncin impixelpara explorar de $orma interactiva loscontenidos de los p5xeles de los puntos seleccionados en la imagen" Htiliceel ratn para 8acer clic sobre los puntos de inters) clics normales seutilizan para seleccionar los p5xeles% al pulsar la tecla BacJspace o Feleteelimina el p5xel previamente seleccionado% un doble clic analy termina la seleccin% y pulsando 6eturn >naliza la seleccin sin la adicinde un p5xel >nal"

    %&' = im"ad(""+.n,);

    [- ] = imix"!(%&');

    - =

    245

    =

    196

    =

    255 220 75

    pregunta +

    ,ul es el signi#icado de los alores almacenados en las aria'les r! c! p?

    Kos devuelve los valores de los pixeles seleccionados"

    -a #uncin improfilese puede utilizar para calcular y representar gr#icamente los alores de

    intensidad a lo largo de una l"nea o un pat$ de arias l"neas en una imagen.

    /. 0tilice la #uncin improfilepara e&plorar el contenido de una l"nea en la imagen coins.pngque est cargado actualmente en la aria'le I.

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    7/12

    r' * 'G. c' * '@. r1 * 1'. c1 * 1@.

    ims8o0+-

    line+2c'% c14% 2r'% r14% ,(olor,% ,g,% ,Lineidt8,% 1-.

    >gure

    impro>le+% 2c'% c14% 2r'% r14-.

    ylabel+,7ray level,-.

    -a #uncin imtool es la 1ltima #uncin del IP2 para la isualizacin de imgenes. Proporciona

    todas las capacidades de isualizacin de imgenes de imshow! as" como el acceso a otras

    $erramientas para la naegacin y la e&ploracin de imgenes! como la $erramientaPixel

    Region tool! laImage Information tool! yAdjust Constrast tool

    ''" Htilice la $uncin imtoolpara mostrar la imagen &ue est cargada en lavariable 3:rgb" Tenga en cuenta &ue una ventana secundaria +in$ormacingeneral- se abrir tambin" Explora la $uncionalidad adicional% incluyendo laposibilidad de medir distancias entre dos puntos dentro de la imagen"

    imtool+3:rgb-

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    8/12

    !odemos mostrar varias imgenes dentro de una >gura mediante la $uncinsubplot" Al utilizar esta $uncin% los dos primeros parmetros especi>can elnmero de >las y columnas para dividir la >gura" El tercer parmetroespeci>ca &ue ubicacin de la subdivisin se va a usar" En este caso elsubplot ser subplot(2,3,3),le estamos diciendo a MATLAB &ue divida la>gura en dos >las y tres columnas y establecer la tercera celda como activopara mostrar la >gura"

    '1" (errar las >guras abiertas +close all-"

    '9" Ejecute las siguientes instrucciones para crear un subplot con dosimgenes)

    A * imread+,pout"ti$,-.

    B * imread+,cameraman"ti$,-.

    >gure

    subplot+'%1%'-% ims8o0+A-

    subplot+'%1%1-% ims8o0+B-

    pregunta 3

    ,ul es el rango de alores para la imagen % y la imagen ?

    n el paso anterior! se muestran dos imgenes! am'as eran imgenes de intensidad. % pesar de

    que no $ay un mapa de color asociado con las imgenes de intensidad! 4%2-% utiliza un

    mapa de color en escala de grises para mostrar una imagen de intensidad (esto sucede en el

    #ondo y suele ser inisi'le para el usuario). ,onsideremos el caso en el que una imagen de

    intensidad y una imagen inde&ada se muestran en una #igura! utilizando la #uncin su'plot.

    '" (ierre todas las >guras abiertas"

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    9/12

    '?" Disualice las imgenes coins.png+cargado en variable- y trees.tif+cargado en la variable 3 y su mapa de color en la variable map- en unsubplot" Ejecutar cada declaracin a la vez para ver el e$ecto en lasimgenes a medida &ue se muestran"

    >gure

    subplot+'%1%'-% ims8o0+-

    subplot+'%1%1-% ims8o0+3% mapa-

    pregun-a ')

    ;Cu pas con la imagen de la moneda justo despus se visualiza la imagende los rboles= Explica tu respuesta"

    La imagen de las monedas cambio de color debido a &ue la imagen de losrboles es una imagen indexada"

    !ara visualizar correctamente las imgenes con mapas de di$erentescolores% 8ay &ue utilizar la $uncin de subimage"

    '" Htilice la $uncin de subimagepara mostrar varias imgenes condi$erentes mapas de color"

    >gure

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    10/12

    subplot+'%1%'-% subimage+-% axis oN

    subplot+'%1%1-% subimage+3% mapa-% axis oN

    La $uncin subimageconvierte la imagen a su e&uivalente imagen 67B yluego muestra esa imagen" !odemos 8acer esto $cilmente nosotrosmismos% pero no 8ay conversin directa de la intensidad a 67B% por lo &ueprimero debemos convertir de intensidad para un 5ndice% y luego desdeindexado a 67B"

    'G" convertir manualmente la imagen intensidad de las monedas +cargadoen la variable - a una imagen indexada y luego a 67B" Tenga en cuenta &uela imagen rboles +cargada en la variable 3 con su mapa de color en lavariable map- ya se 8a convertido a 67B en el paso 9 +guardada en lavariable 3:rgb-"

    2:ind% :mapa4 * gray1ind+%1?-.

    :rgb * ind1rgb+:ind%:mapa-.

    pregun-a ''

    ;Cu contienen las variables de :ind y :mapa=

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    11/12

    '@" Muestre las imgenes a color utilizando la $uncin ims8o0"

    >gure

    subplot+'%1%'-% ims8o0+:rgb-

    subplot+'%1%1-% ims8o0+3:rgb-

    'I" Hse imwritepara guardar dos de las imgenes modi>cadas en estetaller estos arc8ivos sera usados a $uturo en el semestre" Htilice el $ormatoO!E7 para uno de ellos y la extensin !K7 para el otro" !or ejemplo%

    im/it"(X, ,t""+.,);

    im/it"(X,a ,at""+.n,);

  • 7/24/2019 Ejercicio2 Manipulacion Basica Imagenes

    12/12