Descarga la aplicación para disfrutar aún más
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.
Compartir