MATLAB: Vous voulez un fichier pour l’extraction de la cible

Je suis perplexe sur la façon d’extraire une cible d’une image. J’espère que quelqu’un pourra montrer comment extraire une cible d’une image par des fichiers. Merci !!

Meilleure réponse

  • Nous appelons cela la « segmentation » plutôt que l’extraction ou l’extraction. Considérez les pièces comme la cible. Ensuite, regardez mon tutoriel de segmentation d’image BlobsDemo: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
  • MATLAB: Salut à tous, ma question est

    J’ai un contour d’image noir et blanc traité à partir d’une commande de détection de bord. Je voudrais remplir l’arrière-plan complètement noir sans aucune trace de ligne en dehors du contour. Quelqu’un peut-il m’aider à l’obtenir?

    Meilleure réponse

  • Essayez bwareafilt ():
     

    binaryImage = bwareafilt(binaryImage, 1); % Take only the largest blob.

     

  • MATLAB: attribution d’étiquettes aux points détectés

    Je travaille sur le suivi d’un humain. J’ai calculé le centroïde et les points (tête, mains et jambes). Selon l’image, ces points peuvent être au maximum de 5 ou au moins 2 selon la pose de la personne. Je veux attribuer des étiquettes comme la jambe gauche, la jambe droite, la main gauche, la main droite et la tête à ces points. Mais le problème est qu’à moins que je ne les trace, je ne sais pas quel point est quoi. Je veux utiliser une logique comme si son centroïde au-dessus, puis la tête ou en dessous du centroïde, puis les jambes ou une autre idée / heuristique, mais je ne sais pas si c’est possible dans Matlab. J’attache une image avec des points détectés et un centroïde. J’apprécierai si quelqu’un peut suggérer des idées.

    Meilleure réponse

  • Oui, c’est possible. Vous pourriez peut-être utiliser un tableau de structures – une structure pour chaque point. Comme, faites votre logique pour déterminer la partie du corps, puis si vous attribuez le deuxième point aux jambes:
     

    specialPoints(2).x = x;
    specialPoints(2).y = y;
    specialPoints(2).bodyPart = 'Legs';

     

  • MATLAB: Détection d’objets

    Je dois détecter la porte, la porte est de différentes couleurs, veuillez aider à procéder, pouvons-nous appliquer un algorithme de détection des couleurs, si oui, veuillez indiquer comment traiter, frappé ici ne sais pas comment procéder

    Meilleure réponse

  • Voir mes démos de segmentation des couleurs: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
    Je démontre 3 méthodes différentes.
  • MATLAB: Comment lire et stocker une image en niveaux de gris dans une matrice unique

    j’ai 2429 images au format pgm. chacun est en taille 19 * 19. Maintenant, je dois lire toutes les images une par une et les stocker dans une seule matrice. Avec l’aide des précédents exemples disponibles de mathworks, j’ai lu mon fichier. maintenant comment stocker dans une seule matrice.
     
    myFolder = 'C:\Users\smanohar\Documents\MATLAB\RBMimplementation\Gaussian RBM\gdrbm\greyscsalegdrbm\face';
    if ~isdir(myFolder)
    errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
    uiwait(warndlg(errorMessage));
    return;
    end
    filePattern = fullfile(myFolder, '*.pgm');
    jpegFiles = dir(filePattern);
    for k = 1:length(jpegFiles)
    baseFileName = jpegFiles(k).name;
    fullFileName = fullfile(myFolder, baseFileName);
    fprintf(1, 'Now reading %s\n', fullFileName);
    imageArray = imread(fullFileName);
    end
     

    Meilleure réponse

  • Subha – si toutes les images sont de la même dimension, 19×19, vous pouvez toutes les enregistrer dans un seul tableau de taille 19x19x2429. Essayez quelque chose comme le suivant
     

    % pre-size the image array
    imageArray = zeros(19,19,2429);
    filePattern = fullfile(myFolder, '*.pgm');
    pgmFiles = dir(filePattern);
    for k = 1:length(pgmFiles)
    baseFileName = pgmFiles(k).name;
    fullFileName = fullfile(myFolder, baseFileName);
    fprintf(1, 'Now reading %s\n', fullFileName);
    imageArray(:,:,k) = imread(fullFileName);
    end

     

  • MATLAB: Comment utiliser l’opérateur relationnel pour l’analyse d’images? par exemple, j’ai deux images..la première image a un centroïde [x = 241 y = 65] et la deuxième image [x = 246 y = 92] ..

    alors comment puis-je décrire l’image1 est inférieure à l’image2?

    Meilleure réponse

  • You can do things like image1<image2, which will produce a binary image where it’s true if image1 is less than image2 and false (black) otherwise. In addition, you can do things like xCentroid1 < xCentroid2 or yCentroid1 > yCentroid2 or whatever you want. You can even use atand2() to find out where centroid 1 is with respect to centroid 2. You need to be more specific about what you want if you want a precise answer.
  • MATLAB: ANALYSE D’IMAGE: Dois-je convertir les images AFM en niveaux de gris en binaire avant de faire la détection / segmentation des contours

    L’imbinarisation (image) est-elle une étape nécessaire pour trouver des objets connectés et autres?
    Est-il important de binariser des images en niveaux de gris pour effectuer la détection des bords, la segmentation des différentes formes de premier plan, etc.?
    Sinon, quelqu’un peut-il me diriger vers une documentation où je peux faire toute la segmentation et trouver des objets sans binariser?
    Merci

    Meilleure réponse

  • « L’imbinarisation (image) est-elle une étape nécessaire pour trouver des objets connectés et autres? » Oui. Et bien non nécessairementimbinariser, mais la binarisation d’une méthode, comme le seuillage manuel comme
     

    binaryImage = grayImage > someThreshold;

     

  • MATLAB: J’aime organiser l’intensité des pixels en fonction de la séquence dans la matrice

    Bonsoir.
    Je voudrais organiser l’intensité des pixels en fonction de la séquence dans la matrice EX:
     
    Y = [ 5 4 4 2 ;
    6 3 3 1 ;
    2 4 2 2;
    5 5 6 1]
     
    La réponse est censée être comme:
     
    YY = [5 5 5 4 ;
    4 4 2 2 ;
    2 2 6 6 ;
    3 3 1 1]
     
    Merci

    Meilleure réponse

  • C’est probablement la logique:
     

    Y = [ 5 4 4 2 ;
    6 3 3 1 ;
    2 4 2 2;
    5 5 6 1]
    [values, ~, loc] = unique(Y.', 'stable');
    YY = reshape(values(sort(loc)), fliplr(size(Y))).'