Está en la página 1de 17

Etapa 3

Presentado por:
Albeiro Pedrozo Villarruel
9238396

Grupo: 208054

PRESENTADO A:
Sandra Milena García

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


Escuela de Ciencias Básicas, Tecnología e Ingeniería.
-Abril-2021
1. Desarrolle el siguiente código en el script de Matlab y guárdelo como “aprendizaje”.
(Asegúrese de estar trabajando en la carpeta que ya se ha creado). Para esta unidad el
estudiante debe trabajar la base de datos de entrenamiento y la base de datos de prueba (las
dos bases de datos serán proporcionadas por el tutor, por favor, solicitarla por correo
interno)

El código a utilizar es el que ya se implementó en el paso 2, en el ejercicio 1. La


combinación de numpixel y umbral, debe ser única para las 6 imágenes y debe ser la que
segmente mejor el dispositivo. Es decir, el estudiante no debe cambiar el valor del umbral
y del numpixel en cada imagen, sino debe ser un mismo valor de estas dos variables para
todas las imágenes proporcionadas por el tutor.
Nota1: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al
realizar el código le saldrá error.
Nota2: Para que el código sea válido, debe tener una línea con su nombre, año, periodo
académico y semestre actual que esta cursando el estudiante (según plan de estudios).
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
se3=strel('line',8,3);
dilatacion1=imdilate(Filtro1,se3);
figure;
imshow(dilatacion1)
[Lo num]=bwlabel(dilatacion1);
prop=regionprops(Lo);
figure;
imshow(Lo)

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

se3 =strel('line',8,3): almacena parámetros y estados en el espacio de estado SE (3), que


se compone de vectores de estado representados por (x, y, z, qw, qx, qy, ), Crea un
elemento de estructuración en forma de línea vertical.

dilatacion1=imdilate: imdilate Dilatar imagen contraer todo en la página Sintaxis,


dilata la imagen binaria, binaria o en escala de grises, devolviendo la imagen dilatada,
es un objeto de elemento estructurante o matriz de objetos de elemento de
estructuración, devueltos por las funciones.

Figure: Crear ventana de figura, crea una nueva ventana de figura mediante valores.
imshow(dilatacion1): dilata la imagen binaria, binaria o en escala de grises,
devolviendo la imagen dilatada, es un objeto de elemento estructurante o matriz de
objetos de elemento de estructuración.

[Lo num]=bwlabel(dilatacion1): Etiquetar componentes conectados en imagen binaria


2D contraer todo en la página Sintaxis.

prop=regionprops(Lo): Medir las propiedades de las regiones de imagen contraer todo


en la página Sintaxis stats.

imshow(Lo): Visualizar imagen contraer todo en la página Sintaxis imshow.

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

Etiquetar componentes conectados en imagen binaria, permite generar una matriz donde
etiqueta cada 1 binario, en un conjunto de números naturales, el total de esta etiquetas
queda indexado en un vector “num”. La función bwlabel calcula las componentes
conectadas en imágenes binarias; su dimensión de entrada es 2D y su salida es una
matriz de etiquetas de doble precisión.

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

Lo: Matriz de etiquetas de regiones contiguas, devuelta como matriz de enteros no


negativos con el mismo tamaño que la imagen binaria (.BW). Los píxeles etiquetados
son el fondo. Los píxeles etiquetados forman un objeto; los píxeles etiquetados
conforman un segundo objeto; y así sucesivamente. El tipo de datos es
double.

num: Corresponde al número de objetos conectados en la imagen, devueltos como un


entero no negativo.

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

Es una función muy útil para el procesamiento morfológico de una imagen. Calcula las
propiedades de las regiones de la imagen. Mide varias propiedades para cada región
dentro de una imagen. Devuelve una matriz de estructura, un elemento por región, cuyos
nombres de campo son las propiedades medidas. Las regiones individuales se pueden
definir de tres formas diferentes, una imagen binaria, una imagen etiquetada o una
estructura bwconncomp, cada una de las cuales ofrece diferentes ventajas.
2. Cada estudiante debe obtener las siguientes características de cada una de las imágenes de
la base de datos de entrenamiento. Las características las debe guardar en una matriz de
Excel donde se tenga la siguiente información:
Cantidad
de objetos Àrea Àrea Clasificaciòn Clasificaciòn
en la màxima mìnima SVM Experto
imagen

Imagen de
entrenamiento 3 45497 3919 1 1
W oody 1
Imagen de
entrenamiento 2 42920 32080 1 1
W oody 2
Imagen de
entrenamiento 5 43780 970 1 1
W oody 3
Imagen de
entrenamiento
7 63704 1413 0 0
W oody &Perdigon
1
Imagen de
entrenamiento
5 139041 2527 0 0
W oody &Perdigon
2
Imagen de
entrenamiento
3 118613 3578 0 0
W oody &Perdigon
3

Imagen de Entrenamiento Woody 1


Imagen de Entrenamiento Woody 2

Imagen de Entrenamiento Woody 3


Imagen de Entrenamiento Woody&Perdigon 1

Imagen de Entrenamiento Woody&Perdigon 2


Imagen de Entrenamiento Woody&Perdigon 3

Tabla de Entrenamiento Matlab


3. Desarrolle el siguiente código en el script de Matlab creado en el punto 1. (Asegúrese de
estar trabajando en la carpeta que ya se ha creado).
Nota1: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al
realizar el código le saldrá error.
Nota2: Para que el código sea válido, debe tener una línea con su nombre. Cada estudiante
debe obtener las siguientes características de cada una de las imágenes de la base de datos
de prueba. Las características las debe guardar en una matriz de Excel que se llame
“prueba.xlsx” donde se tenga la siguiente información:

Cantidad
de objetos Àrea Àrea Clasificaciòn Clasificaciòn
en la màxima mìnima SVM Experto
imagen

Imagen de Prueba
2 49865 11220 1 1
Woody 1
Imagen de Prueba
2 57441 9630 1 1
Woody 2
Imagen de Prueba
4 68178 1421 1 1
Woody 3
Imagen de Prueba
Woody &Perdigon 8 79338 893 0 0
1
Imagen de Prueba
Woody &Perdigon 7 72944 815 0 0
2
Imagen de Prueba
Woody &Perdigon 4 142791 831 0 0
3
Imagen de Prueba Woody 1

Imagen de Prueba Woody 2


Imagen de Prueba Woody 3

Imagen de Prueba Woody&Perdigon 1


Imagen de Prueba Woody&Perdigon 2

Imagen de Prueba Woody&Perdigon 3


Tabla de Prueba Matlab

• Explique cada línea del código.


Clc: este comando sirve para borra todo el texto de la ventana de comandos, lo que da
como resultado una pantalla limpia. Después de ejecutar clc, no puede usar la barra de
desplazamiento en la ventana de comandos para ver el texto mostrado anteriormente.
Clear all: Este comando sirve para eliminar todos los breakpoints que haya en el fichero.
Close all: Este comando cierra todas las ventanas gráficas abiertas.
datos=xlsread('datos.xlsx'): Leer un archivo de hoja de cálculo de Microsoft Excel. Esta
función de MATLAB lee la primera hoja de cálculo del libro de hojas de cálculo de
Microsoft Excel denominado filename y devuelve los datos numéricos en una matriz
características=datos(1:end,1:3): Se asigna a la variable características los elementos que
hay desde la primera fila hasta la última fila y desde la primera columna a la tercera
columna.
entrenamiento = datos (1:end,4): tiene como función asignar a la variable entrenamiento,
los elementos que hay en datos desde la primera fila hasta la última fila y de la cuarta
columna.
svmStruct=fitcsvm(caracteristicas,entrenamiento,'Standardize',true,'KernelFunction'
,'linear','KernelScale','auto'): Entrena o valida de forma cruzada un modelo de máquina
de vectores de un soporte (SVM) para la clasificación de dos clases (binario) en un
conjunto de datos de predictor de dimensión baja o moderada.
xlsread('prueba.xlsx'):  Leer un archivo de hoja de cálculo de Microsoft Excel, Leer un archivo
de hoja de cálculo de Excel contraer todo en la página Sintaxis num = xlsread.

xprueba=prueba: Lee a partir de la hoja de cálculo y el rango especificados


predict: respuestas utilizando una red neuronal de Microsoft aprendizaje profundo
entrenada
fitcsvm: Clasificador de máquina vectorial de soporte de tren (SVM) para clasificación de
una clase y binaria.
clasificación = predict(svmStruct,xprueba): en la variable clasificación quedan
guardados los datos según la clasificación realizada por la SVM.

4. Clasificador de umbral o perceptrón: 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.
Código Clasificador de umbral Entrenamiento
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
datos=xlsread('Entrenamiento.xlsx');
cantidad_objetos = datos(1:end,1);
area_max = datos (1:end,2);
for i=1:6
if (cantidad_objetos (i,1))==1 && (area_max (i,1)<= 45497)

clasificacion (i,1)= 1;%entonces se clasifica como un 1 (Woddy)


else if (cantidad_objetos (i,1))==2 && (area_max (i,1)<=42920)

clasificacion (i,1) = 1;%clasificacion vale un uno (Woddy)


else%de lo contrario
clasificacion (i,1) = 0;%clasificacion vale un cero
(Woddy&&Perdigon)
end
end
end
clasificacion %Muestra el resultado del clasificador de umbral en el
Command Window
Resultados Obtenidos

Cantidad
de objetos Àrea
en la màxima
imagen

Imagen de
entrenamiento 3 45497
Woody 1
Imagen de
entrenamiento 2 42920
Woody 2
Imagen de
entrenamiento 5 43780
Woody 3
Imagen de
entrenamiento
7 63704
Woody &Perdigon
1
Imagen de
entrenamiento
5 139041
Woody &Perdigon
2
Imagen de
entrenamiento
3 118613
Woody &Perdigon
3

Pantallazo del código del clasificador de umbral para el entrenamiento en MATLAB.


Código Clasificador de umbral Prueba
%Nombre: Albeiro Pedrozo
%Año: 2021
%Periodo: 2021 I PERIODO 16-01 (951)
%Semestre: 9 semestre
clc
clear all
close all
datos=xlsread('Prueba.xlsx');
cantidad_objetos = datos(1:end,1);
area_max = datos (1:end,2);
for i=1:6
if (cantidad_objetos (i,1))==1 && (area_max (i,1)<= 68178)

clasificacion (i,1)= 0;%entonces se clasifica como un cero


(Woddy&Perdigon)
else if (cantidad_objetos (i,1))==2 && (area_max (i,1)<=57441)

clasificacion (i,1) = 0;%clasificacion vale un cero (Woddy&Perdigon)


else%de lo contrario
clasificacion (i,1) = 1;%clasificacion vale un cero (Woddy)
end
end
end
clasificacion %Muestra el resultado del clasificador de umbral en el
Command Window

Resultados Obtenidos
Cantidad
de objetos Àrea
en la màxima
imagen

Imagen de prueba
2 49865
Woody 1
Imagen de prueba
2 57441
Woody 2
Imagen de prueba
4 68178
Woody 3
Imagen de prueba
Woody &Perdigon 8 79338
1
Imagen de prueba
Woody &Perdigon 7 72944
2
Imagen de prueba
Woody &Perdigon 4 142791
3

Pantallazo del código del clasificador de umbral para prueba en MATLAB.

También podría gustarte