Logo Studenta

T9_19131535_TSMYCA

¡Estudia con miles de materiales!

Vista previa del material en texto

Temas Selectos de Mecatrónica y Control Automático 
 INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 
INSTITUTO TECNOLOGICO DE LA LAGUNA | 28/02/2023 
Resumen- El objetivo principal de esta práctica fue aprender a 
desarrollar un algoritmo para separar objetos de una imagen 
con los temas vistos en clase . 
Palabras Clave—Segmentación De Imágenes, Matlab. 
Abstract- The main objective of this practice was to learn how 
to develop an algorithm to separate objects from an image with 
the topics seen in class. 
Keywords-Image Segmentation, Matlab. 
I. INTRODUCCIÓN 
La segmentación de imágenes es el proceso de dividir 
una imagen en partes o regiones. A menudo, la división 
en partes se basa en las características de los píxeles de 
la imagen. Por ejemplo, una forma de encontrar regiones 
en una imagen es buscar discontinuidades abruptas en 
los valores de los píxeles, lo que suele indicar la 
presencia de bordes. Estos bordes pueden definir 
regiones. En otros métodos, la imagen se divide en 
regiones en función de los valores de color o de la 
textura. 
 
II. DESARROLLO 
A. Calcular Cantidad De Pixeles Entre Distintas 
Figuras 
Para iniciar la actividad, tenemos que calcular la cantidad 
de pixeles que existen entre las distintas figuras, que se 
hace de la siguiente manera con el siguiente código: 
%CALCULAR CANTIDAD DE PIXELES ENTRE 
DISTINTAS FIGURAS 
P=ones(400,400); 
jp=0; 
jc=0; 
for k=1 :400 
 for l=1 :400 
 if P(k,l)==M(k,l) 
 jc=jc+1; 
 else 
 jc=jc+1; 
 jp=jp+1; 
 end 
 end 
end 
jp=jp 
B. Binarización de la imagen 
Realizamos una binarización de la imagen donde se 
utilizan dos colores que son el negro y el blanco. 
 
 %BINARIZACION DE IMAGEN 
 negbin=not(M); 
 figure; 
 imshow(negbin) 
 
 
C. Erosionado y dilatado de la imagen. 
Este proceso lo que realiza es aumentar la cantidad de bits 
que contiene la imagen; para realizar este proceso se 
utiliza el siguiente código: 
%EROSIONADO Y DILATADO DE IMAGEN 
Er=zeros(400,400); 
for k=1 :400 
 for l=1 :400 
 Er(k,l)=(255/255)*(negbin(k,l)-0); 
 end 
end 
figure; 
imshow(uint8(Er)) 
 
Tarea 9 de la U1 Segmentación por objetos 
 
Docente: Juan Sifuentes Mijares 
Carrera: Ingeniería Electrónica Alumno: Luis Rodolfo Guzman Carrillo N°Control:19131535 
 
Figura 1Binario 
Temas Selectos de Mecatrónica y Control Automático 
 INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 
INSTITUTO TECNOLOGICO DE LA LAGUNA | 28/02/2023 
 
a=Er; 
[r c]=size(a); 
w=ones(3,3); 
Di=[]; 
for x=2:1:r-1 
 for y= 2:1:c-1 
 g=[w(1)*a(x-1,y-1) w(2)*a(x-1,y) w(3)*a(x-1,y+1)... 
 w(4)*a(x,y-1) w(5)*a(x,y) w(6)*a(x,y+1)... 
 w(7)*a(x+1,y-1) w(8)*a(x+1,y)]; 
 Di(x,y)=max(g); 
 end 
end 
figure; 
imshow(Di); 
 
 
Figura 3 Dilatada 
 
D. Etiqueta y conteo de figuras 
En este apartado se etiquetan las figuras con todos sus 
datos y también cuenta el numero de figuras que existen 
dentro de la imagen. 
%ETIQUETA Y CONTEO DE FIGURAS 
cc=bwconncomp(Di,4); 
num=cc.NumObjects; 
disp('Figuras encontradas: '); disp(num) 
 
 
 
E. Bordes 
Los bordes son los encargados de marcar la figura o 
figuras que están en la imagen. 
 
%BORDES 
Bor=edge(Di,'sobel'); 
figure; 
imshow(Bor) 
 
L = bwlabel(Bor); 
s = regionprops(L, 'Centroid'); 
hold on 
for k = 1 :numel(s) 
 c = s(k).Centroid; 
 text(c(1), c(2), sprintf('%d', k), ... 
 'HorizontalAlignment', 'center', ... 
 'VerticalAlignment', 'middle', ... 
 'Color', 'w'); 
end 
hold off 
 
 
Figura 4Bordes e Etiquetas 
F. Figuras separadas 
En el siguiente comando, se separan las imágenes a través 
de matrices. 
%FIGURAS SEPARADAS 
Z1=zeros(400,400); 
Z2=zeros(400,400); 
Z3=zeros(400,400); 
Z4=zeros(400,400); 
 
[La,Ha]=bwlabel(negbin); 
 
for k=1 :400 
 for l=1 :400 
 if La(k,l)==1 
 Z1(k,l)=1; 
 else 
 Z1(k,l)=0; 
Figura 2 Erosionada 
Temas Selectos de Mecatrónica y Control Automático 
 INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 
INSTITUTO TECNOLOGICO DE LA LAGUNA | 28/02/2023 
 end 
 end 
end 
figure; 
imshow(not(Z1)) %FIGURA 1 
ylabel('Figura 1'); 
area1=0;%Area De LA Figura 1 
for k=1 :m1 
 for l=1 :n1 
 if Z1(k,l)==0 
 area1 = area1 + 1; 
 end 
 end 
end 
%Obtener Xmin,Xmax,Ymin,Ymax 
Xmin1=m1; 
Xmax1=0; 
Ymin1=n1; 
Ymax1=0; 
for k=1 :400 
 for l=1 :400 
 if int64(Z1(k,l))==0 
 if Xmax1 < l 
 Xmax1 = l; 
 end 
 if Ymax1 < k 
 Ymax1 = k; 
 end 
 if Xmin1> l 
 Xmin1 = l; 
 end 
 if Ymin1 > k 
 Ymin1= k; 
 end 
 end 
 end 
end 
 
 
Figura 5. Imágenes Separada 
G. Diámetro de un objeto 
El comando del diámetro es la resta de los extremos del 
objeto que tiene la imagen. 
 
%Obtener Diametro De Un Objeto 
DB1= Xmax1 - Xmin1; 
DV1 = Ymax1 - Ymin1; 
 
H. Centroide de un objeto 
El centroide es el punto medio de la figura (matriz), 
obteniéndose de la siguiente manera: 
%Obtener El Centroide 
Cx1= (Xmax1 + Xmin1) / 2 
CY1= (Ymax1 + Ymin1) / 2 
 
I. Cuadratura de un objeto 
La cuadratura es la propiedad que determina que tan 
cuadrada es la figura de la imagen. 
%Obtener La Cuadratura 
Lx1 = Xmax1 - Xmin1; 
Ly1= Ymax1 - Ymin1; 
Area_Cuadratura1 = Lx1*Ly1; 
Cuadratura1 = area1 / Area_Cuadratura1; 
 
J. Obtener la circularidad de un objeto 
Cumple la misma función de la cuadratura, solo que en 
este caso determina que tan circular es la figura. 
%Obtener La Circularidad pi*r^2 
Rx1= Lx1/2; 
Ry1 = Ly1/2; 
Area_CircularX1 = pi*Rx1^2; 
Area_CircularY1 = pi*Ry1^2; 
CicularidadX1 = area1 / Area_CircularX1; 
CicularidadY1 = area1 / Area_CircularY1; 
 
K. Obtener el perímetro de la imagen. 
Se obtiene con la siguiente suma: 
perimetro1 = (2*pi*Rx1) + (2*pi*Ry1); 
 
III. Conclusiones 
Este trabajo a diferencia de los otros estuvo mas extenso 
por la razón de desarrollar los comandos para cada 
sección, ya que eran mas de una imagen, por lo tanto, tenía 
que calcular todas y cada de las características que 
desarrollamos en esta tarea. 
 
IV. Biografía 
Guzman Carrillo Luis 
Rodolfo. Nacido en Torreón, 
Coahuila, México el 
04/Abril/2001 los lugares 
estudiantiles en donde ejerció 
académicamente fueron: 
1. K
inder: Nueva Creación, 
ubicado en Ricon La Merced, 
Salió Certificado el año 2007 
2. P
rimaria: Ignacio Zaragoza 
Sur, ubicado en Los Arenales, 
Salió con Certificado el año 
2013. 
3. Secundaria: Carlos 
Manuel Sada N° 14, ubicado en Ex. 
Hacienda La Perla, Salió con Certificado el 
año 2016. 
4. Preparatoria: Conalep. Ubicado en Col. La 
Temas Selectos de Mecatrónica y Control Automático 
 INSTITUTO TECNOLOGICO DE LA LAGUNA 
 
 
INSTITUTO TECNOLOGICO DE LA LAGUNA | 28/02/2023 
Merced II, Salió con Certifica Y Titulo en 
técnico en Mantenimiento En Sistemas 
Electrónicos, el año 2019. 
El actualmente trabaja en el área de tintorería en el 
negocio Majestic el cual está ubicado entre Juárez y 
Treviño lleva laborando 4 meses, pero ese no fue su único 
trabajo anteriormente laburo en: 
1. Cocinero, King Ribs 
2. Ayudante General, Carpintería 
3. Mesero, Pirata Burger 
4. Taquero, BEERBOOK 
5. Mesero/Barteder, BEERBOOK 
El TEC. Guzman, actualmente pertenece al equipo de 
robótica Desert Eagles 5705, pero al cursar la secundaria 
participo en la convención de cristales y materiales en 
Peñoles.

Otros materiales