Sie sind auf Seite 1von 13

Implementación de los siguientes códigos

Procedimiento (Experimento) – Parte Individual:

2.1 Desarrolle el siguiente código en el script de Matlab. (Asegúrese de estar trabajando en

la carpeta que ya se ha creado). Para esta unidad el estudiante debe seleccionar 3 imágenes

enfermas y 3 imágenes sanas sanas (la base de datos será proporcionada por el tutor, por

favor, solicitarla por correo interno)

El código a utilizar es el que ya se implementó en la fase 2, en el ejercicio 2.1. La

combinación de numpixel y umbral, debe ser única para las 6 imágenes y debe ser la que

detecte por lo menos el 70% del “tumor” en las 3 imágenes enfermas. Es decir, el

estudiante no debe hacer un código por cada imagen, sino un código para todas las

imágenes proporcionadas por el tutor.

Nota: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar

el código le saldrá error.


a. Explique cada línea de código.

b. Cerebro=imread('Enferma1.jpg'); Agrega la imagen y la identifica con la

palabra Cerebro

c. Cerebro=im2double(Cerebro); Cambia de representación de enteros a puntos.

d. figure; Crea la ventana para la figura.

e. imshow(Cerebro) Muestra la imagen.

f. umbral=0.45;

g. binCerebro=im2bw(Cerebro,umbral); Convierte la imagen al formato

original.

h. figure; Crea la ventana para la figura.

i. imshow(binCerebro) Muestra la imagen (resultado del

filtro).

j. numpixels=200; Determina el número de pixeles de la imagen.

k. Filtro1=bwareaopen(binCerebro,numpixels); Elimina los componentes con

menos pixeles.

l. figure; Crea la ventana para la figura.

m. imshow(Filtro1) Muestra la imagen (resultado del filtro).

n. se3=strel('line',8,3); Elemento morfológico plano, parte de

la dilatación y erosión.

o. dilatacion1=imdilate(Filtro1,se3); Dilata la escala de grises o la imagen

binaria.

p. figure; Crea la ventana para la figura

q. imshow(dilatacion1) Muestra la imagen.


r. [Lo num]=bwlabel(dilatacion1);Cuenta los objetos que tiene la imagen

binarizada.

s. prop=regionprops(Lo); Devuelve mediciones para el conjunto de

propiedades especificadas por properties para cada componente 8-conectado

(objeto) en la imagen binaria, BW.

t. figure Crea la ventana para la figura

u. imshow(Lo) Muestra la imagen.

b. ¿Cómo funciona y que datos obtienen de la función “bwlabel”?

Devuelve la matriz de etiquetas L que contiene etiquetas para los objetos conectados a 8

que se encuentran en BW.

Opcionalmente, puede etiquetar componentes conectados en una imagen binaria 2-D

usando una GPU (requiere Parallel Computing Toolbox ™).

c. ¿Qué valor se obtiene en las variables “Lo” y en “num”?

Lo: Matriz que en base al filtro permite identificar la imagen y encontrar los objetos para

tomar el valor correspondiente.

Num: Identifica la cantidad de objetos en la imagen y muestra el resultado.

d. ¿Cómo funciona y que datos obtienen de la función “regionprops”?

Devuelve mediciones para el conjunto de propiedades especificadas para cada componente

8-conectado (objeto) en la imagen binaria, BW. La estructura que contiene una estructura

para cada objeto en la imagen. Se puede usar en regiones contiguas y regiones no

contiguas.
2.2. Cada estudiante debe obtener las siguientes características de cada una de 3 imágenes

enfermas y de las 3 imágenes sanas. Las características las debe guardar en una matriz de

Excel donde se tenga la siguiente información:

Nota: todas las características deben ser obtenidas del mismo código, es decir el mismo

umbral y el mismo filtro, o crear un código adaptativo por resolución de imagen. Asegúrese

de hacer el mismo cuadro que se encuentra a continuación en Excel.

TABLA DE DATOS ENTRENAMIENTO

Área
Cantidad de objetos en la imagen Área máxima mínima Clasificación
Imagen enferma 1 3 18840 208 1
Imagen enferma 2 2 17845 10089 1
Imagen enferma 3 5 12908 186 1
Imagen sana1 1 16418 16418 0
Imagen sana 2 1 16988 16988 0
Imagen sana 3 3 12138 462 0

ENFERMA 1
ENFERMA 2

ENFERMA 3
SANA 1

SANA 2
SANA 3

TABLA DE DATOS PRUEBA

Área
Cantidad de objetos en la imagen Área máxima mínima Clasificación
Imagen enferma 1 9 16128 333 1
Imagen enferma 7 2 19757 1226 1
Imagen enferma 8 3 9479 292 1
Imagen sana1 5 34787 653 0
Imagen sana 6 8 3930 159 0
Imagen sana 7 2 70830 198 0
ENFERMA 1

ENFERMA 7
ENFERMA 8

SANA 1
SANA 6

SANA 7
2.3 Desarrolle el siguiente código en el script de Matlab. (Asegúrese de estar trabajando en

la carpeta que ya se ha creado).

Nota: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar

el código le saldrá error.

El estudiante debe incluir en el documento de entrega tanto la tabla de las características

con las que entreno la máquina, es decir las contenidas en datos.xlsx y la tabla que contiene

las características nuevas contenidas en prueba.xlsx.

TABLA DE DATOS ENTRENAMIENTO

Área
Cantidad de objetos en la imagen Área máxima mínima Clasificación
Imagen enferma 1 3 18840 208 1
Imagen enferma 2 2 17845 10089 1
Imagen enferma 3 5 12908 186 1
Imagen sana1 1 16418 16418 0
Imagen sana 2 1 16988 16988 0
Imagen sana 3 3 12138 462 0
TABLA DE DATOS PRUEBA

Área
Cantidad de objetos en la imagen Área máxima mínima Clasificación
Imagen enferma 1 9 16128 333 1
Imagen enferma 7 2 19757 1226 1
Imagen enferma 8 3 9479 292 1
Imagen sana1 5 34787 653 0
Imagen sana 6 8 3930 159 0
Imagen sana 7 2 70830 198 0

Explique cada línea del código:

- datos=xlsread('datos.xlsx'); Lee el archivo de datos.

- caracteristicas=datos(1:end,1:3); Definición del tamaño del vector en el

que se almacenan los datos.

- entrenamiento=datos(1:end,4); Define la variable entrenamiento.

- svmStruct =

fitcsvm(caracteristicas,entrenamiento,'Standardize',true,'KernelFunction','linear','ker

nelScale','auto'); Entrena o valida de forma cruzada un

modelo de máquina de vectores de una soporte (SVM) para la clasificación de dos

clases (binario) en un conjunto de datos de predictor de dimensión baja o moderada.

- prueba=xlsread('prueba.xlsx'); Lee el archivo prueba.

- xprueba=prueba(1:end,1:3);

- clasificacion = predict(svmStruct,xprueba) Este comando calcula la salida K-step

ahead de un modelo identificado utilizando los datos medidos de entrada-salida.

Para identificar el modelo, primero recopila todos los datos de entrada y salida y

luego estimas los parámetros del modelo fuera de línea.


2.4 Clasificador de umbral: con las dos primeras características (cantidad de objetos y área

máxima), el estudiante realizará el clasificador por umbral. El estudiante debe investigar

cómo realizar este clasificador, anexar el código y resultados obtenidos.

Das könnte Ihnen auch gefallen