Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRATAMIENTO DE IMAGENES
208054_24
Presentado a:
SANDRA MILENA GARCIA
Tutor
Entregado por:
Grupo: 208054_24
RESPUESTA A PREGUNTAS
Clasificador supervisado:
La clasificación supervisada se basa en la disponibilidad de áreas de
entrenamiento. . Se trata de áreas de las que se conoce a priori la clase a la que
pertenecen y que servirán para generar una signatura espectral característica de
cada una de las clases. Se denominan clases informacionales. Estas deben ser
areas lo más homogeneas posibles y en las que sepamos lo que había el día que
se tomó la imagen
Clasificador no supervisado:
En la clasificación no supervisada no se establece ninguna clase a priori, aunque
es necesario determinar el número de clases que queremos establecer, y se
utilizan algoritmos matemáticos de clasificación automática. Los más comunes son
los algoritmos de clustering que divide el espacio de las variables en una serie de
regiones de manera que se minimice la variabilidad interna de los pixeles incluidos
en cada región.
d. ¿Qué es máquina de soporte vectorial?
CODIGOS
1. Desarrolle el siguiente código en el script de Matlab y guárdelo como “aprendizaje”.
Figure;
Figure;
clc;
clear all;
close all;
Comunicacion1=imread('compu1.jpg');
GrayComunicacion1=rgb2gray(Comunicacion1);
figure;
imshow(GrayComunicacion1);
GrayComunicacion1=im2double(GrayComunicacion1);
figure
imhist(GrayComunicacion1);
Comunicacion1=im2double(Comunicacion1);
figure;
imshow(Comunicacion1)
Comunicacion2=imread('compu2.jpg');
GrayComunicacion2=rgb2gray(Comunicacion2);
figure;
imshow(GrayComunicacion2);
GrayComunicacion2=im2double(GrayComunicacion2);
figure;
imhist(GrayComunicacion2);
Comunicacion2=im2double(Comunicacion2);
figure;
imshow(Comunicacion2)
Comunicacion3=imread('compu3.jpg');
GrayComunicacion3=rgb2gray(Comunicacion3);
figure;
imshow(GrayComunicacion3);
GrayComunicacion3=im2double(GrayComunicacion3);
figure;
imhist(GrayComunicacion3);
Comunicacion3=im2double(Comunicacion3);
figure;
imshow(Comunicacion3)
Comunicacion4=imread('celu4.jpg');
GrayComunicacion4=rgb2gray(Comunicacion4);
figure;
imshow(GrayComunicacion4);
GrayComunicacion4=im2double(GrayComunicacion4);
figure;
imhist(GrayComunicacion4);
Comunicacion4=im2double(Comunicacion4);
figure;
imshow(Comunicacion4)
Comunicacion5=imread('celu5.jpg');
GrayComunicacion5=rgb2gray(Comunicacion5);
figure;
imshow(GrayComunicacion5);
GrayComunicacion5=im2double(GrayComunicacion5);
figure;
imhist(GrayComunicacion5);
Comunicacion5=im2double(Comunicacion5);
figure;
imshow(Comunicacion5)
Comunicacion6=imread('celu6.jpg');
GrayComunicacion6=rgb2gray(Comunicacion6);
figure;
imshow(GrayComunicacion6);
GrayComunicacion6=im2double(GrayComunicacion6);
figure;
imhist(GrayComunicacion6);
Comunicacion6=im2double(Comunicacion6);
figure;
imshow(Comunicacion6)
umbral=0.5;
binComunicacion1=im2bw(Comunicacion1,umbral);
binComunicacion1=~binComunicacion1;
figure;
imshow(binComunicacion1)
binComunicacion2=im2bw(Comunicacion2,umbral);
binComunicacion2=~binComunicacion2;
figure;
imshow(binComunicacion2)
binComunicacion3=im2bw(Comunicacion3,umbral);
binComunicacion3=~binComunicacion3;
figure;
imshow(binComunicacion3)
binComunicacion4=im2bw(Comunicacion4,umbral);
binComunicacion4=~binComunicacion4;
figure;
imshow(binComunicacion4)
binComunicacion5=im2bw(Comunicacion5,umbral);
binComunicacion5=~binComunicacion5;
figure;
imshow(binComunicacion5)
binComunicacion6=im2bw(Comunicacion6,umbral);
binComunicacion6=~binComunicacion6;
figure;
imshow(binComunicacion6)
numpixels=500;
Filtro1=bwareaopen(binComunicacion1, numpixels);
figure;
imshow(Filtro1)
Filtro2=bwareaopen(binComunicacion2, numpixels);
figure;
imshow(Filtro2)
Filtro3=bwareaopen(binComunicacion3, numpixels);
figure;
imshow(Filtro3)
Filtro4=bwareaopen(binComunicacion4, numpixels);
figure;
imshow(Filtro4)
Filtro5=bwareaopen(binComunicacion5, numpixels);
figure;
imshow(Filtro5)
Filtro6=bwareaopen(binComunicacion6, numpixels);
figure;
imshow(Filtro6)
se3=strel('line',8,3);
dilatacion1=imdilate(Filtro1,se3);
dilatacion2=imdilate(Filtro2,se3);
dilatacion3=imdilate(Filtro3,se3);
dilatacion4=imdilate(Filtro4,se3);
dilatacion5=imdilate(Filtro5,se3);
dilatacion6=imdilate(Filtro6,se3);
figure;
imshow(dilatacion1);
imshow(dilatacion2);
imshow(dilatacion3);
imshow(dilatacion4);
imshow(dilatacion5);
imshow(dilatacion6);
[Lo1, num1]=bwlabel(dilatacion1);
[Lo2, num2]=bwlabel(dilatacion2);
[Lo3, num3]=bwlabel(dilatacion3);
[Lo4, num4]=bwlabel(dilatacion4);
[Lo5, num5]=bwlabel(dilatacion5);
[Lo6, num6]=bwlabel(dilatacion6);
prop1=regionprops(Lo1);
prop2=regionprops(Lo2);
prop3=regionprops(Lo3);
prop4=regionprops(Lo4);
prop5=regionprops(Lo5);
prop6=regionprops(Lo6);
figure;
imshow(Lo1);
imshow(Lo2);
imshow(Lo3);
imshow(Lo4);
imshow(Lo5);
imshow(Lo6);
MinArea1=min([prop1.Area]);
MaxArea1=max([prop1.Area]);
MinArea2=min([prop2.Area]);
MaxArea2=max([prop2.Area]);
MinArea3=min([prop3.Area]);
MaxArea3=max([prop3.Area]);
MinArea4=min([prop4.Area]);
MaxArea4=max([prop4.Area]);
MinArea5=min([prop5.Area]);
MaxArea5=max([prop5.Area]);
MinArea6=min([prop6.Area]);
MaxArea6=max([prop6.Area]);
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:
Imagen de entrenamiento –
3 84630 1583 1 1
Computador1
Imagen de entrenamiento –
3 62740 1462 1 1
Computador 2
Imagen de entrenamiento –
3 38468 16798 1 1
Computador 3
Imagen de entrenamiento –
1 48421 48421 0 0
Celular 1
Imagen de entrenamiento –
1 36105 36105 0 0
Celular 2
Imagen de entrenamiento –
1 21291 21291 0 0
Celular 3
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
%Jose Ricardo Lopez
%2020
%16-04
%Semestre 08
clc;
clear all;
close all;
Comunicacion1=imread('compu4.jpg');
GrayComunicacion1=rgb2gray(Comunicacion1);
figure;
imshow(GrayComunicacion1);
GrayComunicacion1=im2double(GrayComunicacion1);
figure
imhist(GrayComunicacion1);
Comunicacion1=im2double(Comunicacion1);
figure;
imshow(Comunicacion1)
Comunicacion2=imread('celu1.jpg');
GrayComunicacion2=rgb2gray(Comunicacion2);
figure;
imshow(GrayComunicacion2);
GrayComunicacion2=im2double(GrayComunicacion2);
figure;
imhist(GrayComunicacion2);
Comunicacion2=im2double(Comunicacion2);
figure;
imshow(Comunicacion2)
Comunicacion3=imread('compu5.jpg');
GrayComunicacion3=rgb2gray(Comunicacion3);
figure;
imshow(GrayComunicacion3);
GrayComunicacion3=im2double(GrayComunicacion3);
figure;
imhist(GrayComunicacion3);
Comunicacion3=im2double(Comunicacion3);
figure;
imshow(Comunicacion3)
Comunicacion4=imread('celu2.jpg');
GrayComunicacion4=rgb2gray(Comunicacion4);
figure;
imshow(GrayComunicacion4);
GrayComunicacion4=im2double(GrayComunicacion4);
figure;
imhist(GrayComunicacion4);
Comunicacion4=im2double(Comunicacion4);
figure;
imshow(Comunicacion4)
Comunicacion5=imread('compu6.jpg');
GrayComunicacion5=rgb2gray(Comunicacion5);
figure;
imshow(GrayComunicacion5);
GrayComunicacion5=im2double(GrayComunicacion5);
figure;
imhist(GrayComunicacion5);
Comunicacion5=im2double(Comunicacion5);
figure;
imshow(Comunicacion5)
Comunicacion6=imread('celu3.jpg');
GrayComunicacion6=rgb2gray(Comunicacion6);
figure;
imshow(GrayComunicacion6);
GrayComunicacion6=im2double(GrayComunicacion6);
figure;
imhist(GrayComunicacion6);
Comunicacion6=im2double(Comunicacion6);
figure;
imshow(Comunicacion6)
umbral=0.5;
binComunicacion1=im2bw(Comunicacion1,umbral);
binComunicacion1=~binComunicacion1;
figure;
imshow(binComunicacion1)
binComunicacion2=im2bw(Comunicacion2,umbral);
binComunicacion2=~binComunicacion2;
figure;
imshow(binComunicacion2)
binComunicacion3=im2bw(Comunicacion3,umbral);
binComunicacion3=~binComunicacion3;
figure;
imshow(binComunicacion3)
binComunicacion4=im2bw(Comunicacion4,umbral);
binComunicacion4=~binComunicacion4;
figure;
imshow(binComunicacion4)
binComunicacion5=im2bw(Comunicacion5,umbral);
binComunicacion5=~binComunicacion5;
figure;
imshow(binComunicacion5)
binComunicacion6=im2bw(Comunicacion6,umbral);
binComunicacion6=~binComunicacion6;
figure;
imshow(binComunicacion6)
numpixels=500;
Filtro1=bwareaopen(binComunicacion1, numpixels);
figure;
imshow(Filtro1)
Filtro2=bwareaopen(binComunicacion2, numpixels);
figure;
imshow(Filtro2)
Filtro3=bwareaopen(binComunicacion3, numpixels);
figure;
imshow(Filtro3)
Filtro4=bwareaopen(binComunicacion4, numpixels);
figure;
imshow(Filtro4)
Filtro5=bwareaopen(binComunicacion5, numpixels);
figure;
imshow(Filtro5)
Filtro6=bwareaopen(binComunicacion6, numpixels);
figure;
imshow(Filtro6)
se3=strel('line',8,3);
dilatacion1=imdilate(Filtro1,se3);
dilatacion2=imdilate(Filtro2,se3);
dilatacion3=imdilate(Filtro3,se3);
dilatacion4=imdilate(Filtro4,se3);
dilatacion5=imdilate(Filtro5,se3);
dilatacion6=imdilate(Filtro6,se3);
figure;
imshow(dilatacion1);
imshow(dilatacion2);
imshow(dilatacion3);
imshow(dilatacion4);
imshow(dilatacion5);
imshow(dilatacion6);
[Lo1, num1]=bwlabel(dilatacion1);
[Lo2, num2]=bwlabel(dilatacion2);
[Lo3, num3]=bwlabel(dilatacion3);
[Lo4, num4]=bwlabel(dilatacion4);
[Lo5, num5]=bwlabel(dilatacion5);
[Lo6, num6]=bwlabel(dilatacion6);
prop1=regionprops(Lo1);
prop2=regionprops(Lo2);
prop3=regionprops(Lo3);
prop4=regionprops(Lo4);
prop5=regionprops(Lo5);
prop6=regionprops(Lo6);
figure;
imshow(Lo1);
imshow(Lo2);
imshow(Lo3);
imshow(Lo4);
imshow(Lo5);
imshow(Lo6);
MinArea1=min([prop1.Area]);
MaxArea1=max([prop1.Area]);
MinArea2=min([prop2.Area]);
MaxArea2=max([prop2.Area]);
MinArea3=min([prop3.Area]);
MaxArea3=max([prop3.Area]);
MinArea4=min([prop4.Area]);
MaxArea4=max([prop4.Area]);
MinArea5=min([prop5.Area]);
MaxArea5=max([prop5.Area]);
MinArea6=min([prop6.Area]);
MaxArea6=max([prop6.Area]);
Imagen de prueba –
3 47197 10750 1 1
Computador 1
Imagen de prueba –
1 42014 42014 0 0
Celular 1
Imagen de prueba –
3 46771 2827 1 1
Computador 2
Imagen de prueba –
1 39809 39809 0 0
Celular 2
Imagen de prueba –
1 59236 59236 0 1
Computador 3
Imagen de prueba –
1 59702 59702 0 0
Celular 3
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 entrenamiento.xlsx y la tabla
que contiene las características nuevas contenidas en prueba.xlsx.
clear all; Esta función MATLAB borra cachés para todos los objetos
close all; Esta función MATLAB intenta cerrar todas las conexiones a todos los diccionarios de
datos que están abiertos.
%2020
%16-04
%Semestre 08
svmStruct=fitcsvm(caracteristicas,entrenamiento,'standardize',true,'KernelFunction','linear','Ker
nelScale','auto');
xprueba=prueba(1:end,1:3);
clasificacion=predict(svmStruct,xprueba);
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.
II. BIBLIOGRAFÍA
González and Woods. Digital Image Processing, 3rd. Ed. 2018. Introducción a las
imágenes digitales.
https://alojamientos.us.es › gtocoma › pid › tema1-2
https://www.hugorodriguez.com/cursos/curso-idigital_01.htm