Está en la página 1de 12

CURSO

: LABORATORIO DE PROCESAMIENTO DIGITAL DE IMAGENES

TRABAJO CALIFICADO #04

TEMA

PROCESAMIENTO DIGITAL EN MATLAB


ALUMNOS : CARBAJAL ARELA REYNALDO
FLOREZ TAPIA JOSE ALEJANDRO CHUCHULLO TITO, JAVIER MAMANI CCASA, WALTER MATTA HERNANDEZ JORGE SARCO MONTIEL MIGUEL ZAFERZON QUIROZ VICTOR NUEZ CCOSCCO BOOZ

DOCENTE

ING. LIZARDO PARI

Practica 4 PROCEDIMIENTO 1.- Leer Y Mostrar Una Imagen. Lea y muestre la imagen rice.png

>> i1=imread('C:\Users\alex\Documents\MATLAB\imagenes\rice.png'); >> imshow(i1)

2.- Estimar los pxeles de fondo. En la imagen de muestra, la iluminacin del fondo es mas brillante en el centro de la imagen que en la parte inferior. en este paso el ejemplo utiliza una operacin apertura morfolgica para estimar la iluminacin de fondo. Una apertura es una erosin seguida de una dilatacin , usando l mismo elemento de estructuracin para ambas operaciones . la abertura morfolgica tiene el efecto de remover objetos que no pueden contener totalmente el elemento de estructuracin

Explicar que es lo que sucede con el siguiente comando:

>> background = imopen(i1,strel('disk',15)); abertura morfolgica en el elemento estructural en forma de disco donde su radio es de 15 >> figure(2) >> imshow(background)

3.- Vista de la aproximacin de fondo como una superficie. Utilizar comando surf >> figure(3) >> surf(double(background(1:8:end,1:8:end))),zlim([0 255]);

250 200 150 100 50 0 40 30 20 10 0 0 10 30 20 40

Invertimos la escala.

250 200 150 100 50 0 0 10 20 30 40 0 10 30 20 40

Interprete en sus palabras la aproximacin superficial analizada:

Los tonos de intensidad del fondo de la imagen pero solo se muestra uno de los ocho pixeles en cada direccin; de otro modo el diagrama superficial sera demasiado denso, cada zona rectangular de la grafica muestra un pxel. Esto se realiza mediante el comando surf y solo tomamos uno de los ocho pxeles con el comando double(background(1:8:end,1:8:end)). 4.- Crear una imagen con un fondo uniforme. Para crear fondo mas uniforme >> i2 = imsubtract(i1,background); Imsubtract Cmo es que funciona este comando, que parametros tiene? Resta la constante de la imagen o dos imgenes,. Z = IMSUBTRACT(X,Y) substrae cada elemento en la serie Y del el elemento correspondiente en la serie X e ingresos la diferencia en el elemento correspondiente de la serie del rendimiento Z. X y Y son reales, series numricas del mismo tamao, o Y es un doble escalar. >> figure(4) >> imshow(i2)

5.- Ajuste del contraste en la imagen procesada. Luego de la substraccin la imagen tiene un fondo uniforme pero ahora esta muy oscura usar imadjust para ajustar el contraste de la imagen >> i3=imadjust(i2,[0 0.4],[]); >> figure(5) >> imshow(i3)

Qu parmetros tiene el comando imadjust?

g = imadjust(f, [low_in high_in], [low_out high_out], gamma)

El valor de intensidad de los pxeles de una imagen es cambiado siguiendo las siguientes grficas, que dependen del valor de gamma. Si gamma se omite se toma por 1. Si high_out es menor que low_out, se invertir la intensidad de salida con respecto a la imagen original.

6.- Crear una versin binaria de la imagen.

>> level=graythresh(i3); >> bw=im2bw(i3,level); >> figure(6) >> imshow(bw)

>> whos Name Size Bytes Class Attributes

background bw i1 i2 i3 level

256x256 256x256

65536 uint8 65536 logical 65536 uint8 65536 uint8 65536 uint8 8 double

256x256 256x256 256x256 1x1

Qu hace la funcion graythresh? Escoge el umbral para minimizar la variacin entre las clases de los pixeles negros y blancos. Cmo se realiza la conversin en el comando im2bw? Convierte la imagen en imagen binaria separando sus intensidades en dos valores [1 0] entre esta escala hace que 1 sea blanco y 0 sea negro. La imagen binaria bw es de clase lgica, como puede ser vista, llamando el comando whos 7.- Determine el nmero de objetos de una imagen. Luego de convertir la imagen a una imagen binaria, puede usar el comando bwlabel para determinar el numero de granos de arroz en la imagen , numObjets Cmo funciona este comando? [labeled,numObjects] = bwlabel(bw,4); Retorna en numObjects el nmero de objetos conectados dentro de BW que sera la imagen total >> [labeled,numObjects]=bwlabel(bw,4); Cuntos objetos presenta la imagen? >> numObjects numObjects = 101 8.- Examinar la matriz de nivel. Se puede usar imcrop para seleccionar una porcionde la imagen o sino usando la herramienta pixel regin para examinar losvalores del pixel Usar imshow >> figure(7) >> imshow(labeled);

>> imtool(labeled);

9.-Mostrar la Pseudocolor.

matriz

de

nivel

como

una

matriz

indexada

de

Analiza el funcionamiento y los parmetros de el comando label2rgb.

Convierte la matriz labeled en un formato de imagen RGB para propsitos de visualizacin de regiones etiquetadas, los parmetros del comando son: label2rgb(L, map, zerocolor, order) Donde map puede ser una matriz colormap nx3 o una cadena que contiene los nombres de los colormap soportados por Matlab. Y zerocolor especifica el valor de color para etiqueta de valor 0, y order indica el orden en que se asignara los valores colormap de la matriz RGB. >> pseudo_color = label2rgb(labeled, @spring, 'c', 'shuffle'); >> figure(8) >> imshow(pseudo_color);

10.- Medida de las propiedades de los objetos. El comando regionprops mide propiedades de objetos y regiones en una imagen >> graindata=regionprops(labeled,'basic') graindata = 101x1 struct array with fields: Area Centroid BoundingBox

Qu propiedades muestra la funcin regionprops? STATS = REGIONPROPS(L,PROPERTIES) los elementos del entero Positivos de L corresponde a las regiones diferentes. Por ejemplo, el juego de elementos de L igual a 1 corresponde a la regin 1; el juego de elementos de L igual a 2 corresponde a la regin 2; y as sucesivamente. STATS es una serie de la estructura de longitud max(L (:)). Los campos de la serie de la estructura denotan las propiedades diferentes para cada regin, como esta especificado por las PROPIEDADES. Las PROPIEDADES pueden ser una lista coma-separada de cordones, una serie celular, los cordones conteniendo, el cordn ' el all', o el cordn ' el basic'. El juego de las cuerdas de la medida vlida incluye: 'Area' 'EulerNumber' 'BoundingBox' 'Extent' 'Centroid' 'Extrema' 'ConvexArea' 'FilledArea' 'ConvexHull' 'FilledImage' 'ConvexImage' 'Image' 'Eccentricity' 'MajorAxisLength' 'EquivDiameter' 'MinorAxisLength' 'Orientation' 'Perimeter' 'PixelIdxList' 'PixelList' 'Solidity' 'SubarrayIdx'

Qu medida usa la propiedad basic? Detalle cada una.

Si se coloca Basic las propiedades que se computan son: Area: es un escalar que muestra el nmero actual de pixeles de la figura. Centroid: indica un vector que es el centro de masa de la figura. BoundingBox: indica el tamao del rectngulo ms pequeo que contiene esta regin. >> graindata(51) ans = Area: 140 Centroid: [114.5000 15.4500] BoundingBox: [107.5000 4.5000 13 20] Graficar centros de gravedad en la imagen:

>> centroids = cat(1,graindata.Centroid);

>>hold on >>plot(centroides(:,1),centroides(:,2),'b+')

En este caso el comando marcara cada grano de arroz, esto por el parmetro b+:

CONCLUSIONES Se consigui una aplicacin de contador de objetos til en una aplicacin agroindustrial de seleccin de arroz o conteo de objetos Se logro crearle un fondo ms uniforme a una imagen Se determino el objeto de mayor rea en una imagen El comando regionprops mide propiedades de objetos y regiones en una imagen

También podría gustarte