SEGMENTACIÓN de una IMAGEN en MATLAB -FUNCIÓN regionprops -CURSO PROCESAMIENTO DE IMÁGENES (PARTE 8)

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 34

  • @jeffersonrodriguez666
    @jeffersonrodriguez666 2 года назад

    buen aporte , con 8 videos aprendí todo un ciclo y sobre todo salve el curso . muchas gracias por subir estos contenidos .

  • @arielhernandezpineda7234
    @arielhernandezpineda7234 2 года назад

    Gracias por este mega curso!!!! Hermoso balance de la teoría con lo practico y el tamaño de los vídeos perfectos para solo obtener lo esencial, un semestre de procesamiento de imágenes resumido en esta maravillosa entrega 👏

    • @mundotecnologico6659
      @mundotecnologico6659  2 года назад

      Gracias por comentar!!! Es un gran gusto hacer los videos y que sean tan bien recibidos! 🙌

  • @64miroku
    @64miroku 3 года назад

    Wow te amo, la manera en como explicas y el uso de ejemplo para que sea más didáctico me fascino. Estoy desarrollando junto con otras personas un clasificador de colores usando redes neuronales, gracias a ti estoy un paso más adelante para la obtención de datos desde una cámara fotográfica. Excelente vídeo.

  • @RenGallagher101
    @RenGallagher101 3 года назад

    Gracias por el aporte, muy buen material. Estoy utilizando el procesamiento para determinar diámetros de gota pequeños en imágenes generadas con una cámara de alta velocidad.

  • @federicovignetta558
    @federicovignetta558 4 года назад

    Buenas tardes el curso me gustos mucho ya que al tener conocimiento previo explicas muy bien las funciones.

  • @aphysicstudent5226
    @aphysicstudent5226 7 месяцев назад +1

    Seguí el curso entero. Muy bueno la verdad. Por cierto, cómo puedo dibujar un cuadrado en lugar de un circulo??

  • @jonathanmartinezlopez2129
    @jonathanmartinezlopez2129 3 года назад

    Muchas gracias, me has ayudado mucho con este video, es excelente!

  • @diegoruizrojas6265
    @diegoruizrojas6265 3 года назад

    Excelente!!! gracias maestra me salvaste el curso

  • @fernandobrito8966
    @fernandobrito8966 3 года назад

    Excelente, espero que sigas creciendo, me ayudo demasiado, Danke meine Freundin

  • @javierjarameza8031
    @javierjarameza8031 3 года назад

    Maestraa! Me has ayudado mucho

  • @omarhandball635
    @omarhandball635 4 года назад

    Me salvaste el semestre ❤️

  • @camilo1676
    @camilo1676 4 года назад +1

    Excelente curso, necesito hacer un programa que detecte formas, en especial una vela, para la aplicación de un sistema de detección de un área menor para así generar una alerta, el problema que tengo es en la segmentación de la imagen, ya que no me segmenta bien y en ocasiones cuando están muy juntas las velas, el regionprops me lo toma como un solo elemento, no se si tienes algún consejo para que esto no pase, muchas gracias.

    • @mundotecnologico6659
      @mundotecnologico6659  4 года назад +1

      Toda la parte de procesamiento previo ayudará mucho a modificar la imagen y mejorar la segmentación. Con las modificaciones morfológicas disponibles en MATLAB, saturación de brillo, etc.

  • @x8darren8x36
    @x8darren8x36 2 года назад

    estaba buscando eso de los viscircles, aqui mi pregunta va relacionada a poner en una gráfica otro tipo de imagen?, en vez de "viscircles" que es un circulo poner otra figura

  • @apolomachiavello612
    @apolomachiavello612 2 года назад

    Excelente aporte... Una pregunta como podria dividir en sextores y luego segmentarlo en 16x4=64 segmentos para la segmenracion de la imagen ? Gracias

    • @mundotecnologico6659
      @mundotecnologico6659  2 года назад +1

      Está la función de Matlab imcrop, sólo hay que meterle las coordenadas para recortar. Si tienes el tamaño de la imagen (número de filas y columnas) vas a poder obtener las coordenadas de cada nueva imagen.

  • @yormanjorcetquispechavez3330
    @yormanjorcetquispechavez3330 3 года назад +1

    PORFAVOR SIGA CON EL CURSO :(

  • @eduardof.s5958
    @eduardof.s5958 3 месяца назад

    me gustaron mucho los videos pero me gustaria dialogar para saber darle solucion ha ciertas tareas especificas.

  • @xenmotoyaalvarez4922
    @xenmotoyaalvarez4922 3 года назад

    gracias bro, sigue así

  • @ottoluttmann9220
    @ottoluttmann9220 3 года назад

    Muchas gracias, maestra! Quiero consultar algo, con todos los temas que ya explicaste anteriormente pude hacer el preprocesamiento de la imagen y obtener el histograma de colores de un pie. Mi objetivo es obtener información real para solucionar el problema del pie diabético con plantillas personalizadas. Ya pude obtener la información del histograma, y el último paso es saber el tamaño real del pie en mi imagen estandarizada a 35 cm desde la camara hasta la planta del pie (lo cual ha sido una gran dificultad para encontrar un comando que dé esa información), y a partir de eso tener mi modelo 3D con el tamaño en cm del pie (real), juntando las presión que ejerce el pie (que ya tengo del histograma), hay algún comando que pueda encontrar, o qué me sugieres? Muchas gracias de antemano.

    • @mundotecnologico6659
      @mundotecnologico6659  3 года назад +1

      Lo más sencillo sería usar por fuera del algoritmo un sensor de distancia (un ultrasónico por ejemplo), si es mediante el procesamiento de la imagen, se me ocurre por ejemplo encontrar las ROI dentro de la imagen, sus bordes y realizar una especie de mapeo ya con la distancia estandarizada. Que cierto número de pixeles del borde corresponden a x cm. Hay algunas funciones, pero sería cuestión de ver si se puede adaptar a tu imagen. Código tomado de MathWorks:
      %Lea la imagen en el espacio de trabajo.
      im = imread('foto.png');
      %Recopila datos sobre la imagen, como su tamaño, y almacena los datos en una estructura.
      sz = size(im);
      myData.Units = 'pixels';
      myData.MaxValue = hypot(sz(1),sz(2)); myData.Colormap = hot; myData.ScaleFactor = 1;
      %Muestre la imagen en un eje.
      hIm = imshow(im);
      %Especifica una función de devolución de datos. ButtonDownFcn pasa la estructura a la función de devolución de datos. myData es una función de devolución de datos, crea los objetos de línea y comienza a dibujar los ROI.
      hIm.ButtonDownFcn = @(~,~) startDrawing(hIm.Parent,myData);
      %Cree la función utilizada con la devolución de llamada para crear ROI de línea.ButtonDownFcn Esta función:
      1. Crea una instancia de un objeto de ROI de línea.
      2. Configura a los oyentes para que reaccionen a los clics y al movimiento del ROI.
      3. Agrega un menú contextual personalizado a los ROI que incluye una opción 'Eliminar todo'.
      4. Comienza a dibujar el ROI, utilizando el punto en el que se hace clic en la imagen como punto de partida.
      function startDrawing(hAx,myData)
      % Create a line ROI object. Specify the initial color of the line and % store the |myData| structure in the |UserData| property of the ROI.
      h = images.roi.Line('Color',[0, 0, 0.5625],'UserData',myData);
      % Set up a listener for movement of the line ROI. When the line ROI moves, the |updateLabel| callback updates the text in the line ROI label and changes the color of the line, based on its length.
      addlistener(h,'MovingROI',@updateLabel);
      % Set up a listener for clicks on the line ROI. When you click on the line ROI, the |updateUnits| callback opens a GUI that lets you specify the known distance in real-world units, such as, meters or feet.
      addlistener(h,'ROIClicked',@updateUnits);
      % Get the current mouse location from the |CurrentPoint| property of the axes and extract the _x_ and _y_ coordinates.
      cp = hAx.CurrentPoint; cp = [cp(1,1) cp(1,2)];
      % Begin drawing the ROI from the current mouse location. Using the |beginDrawingFromPoint| method, you can draw multiple ROIs.
      h.beginDrawingFromPoint(cp); % Add a custom option to the line ROI context menu to delete all existing line ROIs.
      c = h.UIContextMenu;
      uimenu(c,'Label','Delete All','Callback',@deleteAll); end
      Te recomiendo leer: la.mathworks.com/help/images/measure-distances-in-images.html

    • @ottoluttmann9220
      @ottoluttmann9220 3 года назад

      @@mundotecnologico6659 ¡Mucha gracias, Maestra! Aunque el sensor sería en tiempo real, verdad? A mí me interesaría conocer los datos reales en una imagen que ya fue tomada y saber cuánto mide el pie de largo y ancho.

    • @mundotecnologico6659
      @mundotecnologico6659  3 года назад

      @@ottoluttmann9220 Sí, con esa ayuda podría funcionar. En la página de mathworks.

  • @princesatartaruga444
    @princesatartaruga444 4 года назад

    Muito obrigada 👏👏👏

  • @federicovignetta558
    @federicovignetta558 4 года назад +1

    Me podes orientar como pensar un programa que detecte verde y luego forma y envié una senal. gracias

    • @mundotecnologico6659
      @mundotecnologico6659  4 года назад

      Para la detección del color verde, aquí quedará una imagen binaria con sólo el color verde, se puede ajustar el umbral de im2bw para que sea más específico con el color verde:
      a = imread('Paisaje.jpg');
      ag = a(:,:,2);
      alogical= im2bw(ag,0.8); % Convertimos a binario
      BW = imfill(BW,'holes'); % Rellena los huecoso
      Después identifica la forma con el color verde que ya está segmentada en la imagen binaria y la recorta en una imagen más pequeña, dentro del objeto stats ya están todos los datos de las regiones como el centro, el área, etc. Y en I1 está la imagen recortada con la región, suponiendo que sólo es una:
      L = bwlabel(BW); % Crea regiones (etiqueta componentes conectados)
      numele = max(max(L)); % Número de objetos etiquetados
      stats = regionprops(L,'all'); % Estadísticas de las regiones
      E = stats(1).BoundingBox; % Toma la frontera de la 1ra región
      I1 = imcrop(I,E); % Devuelve la 1ra región
      Si quisieras enviar una señal cuando encuentre la forma de color verde, parte de lo anterior tendría que estar dentro de un ciclo if, con la variable numele se puede saber si ha encontrado regiones:
      if numele>=1
      *** Aquí se ejecutarían las demás instrucciones y al final sólo envías la señal no sé qué tipo de señal por serial o cómo.
      end
      Espero que te sea de ayuda. Gracias por ver los videos!

  • @LUCHITOZXC
    @LUCHITOZXC 3 года назад

    Buenas buenas...una pregunta se podría hacer segmentacion de objetos pero de un vídeo

    • @mundotecnologico6659
      @mundotecnologico6659  3 года назад

      Sí se podría, el truco es analizar imagen por imagen del video de la misma forma e ir desplegando el resultado, como lo hace tan rápido MATLAB se ve fluido como un video

  • @maickjuniordavilajesus2673
    @maickjuniordavilajesus2673 3 года назад +1

    %recorreo todas las monedas y las recorta
    for index = 1:numele
    informObj = inform(index).BoundingBox; %toma la frontera de la primera region
    moneda = imcrop(img, informObj); %devulve la primera region
    figure(1), subplot(1,numele,index), imshow(moneda)
    end

  • @hectordaes8967
    @hectordaes8967 3 года назад

    no me agarra la libreria stats