IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

comment completer une distance


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 35
    Points : 28
    Points
    28
    Par défaut comment completer une distance
    Bonjour,
    Avec ce code j'essaie de dire que si la distance D qu'il existe entre la limite verticale de `c` et les points se trouvant a sa droite est inferieure a 10( par exemple) alors tous les pixels appartenant a la meme ligne et compris entre la limite verticale et ce point sont egal a 1
    Pouvais vous m'aider a ameliorer mon code s'il vous plait, car pour l'instant le resultat obtenu est une mise a 1 de tous les pixels repondant a la contrainte distance et non vis a vis de chaque point?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    clear all
    close all
     
    c=zeros(500,500);
    c(:,250)=1;
    dim=size(c);
     
    D = bwdist(cumsum(c, 2,'reverse')> 0, 'euclidean');
     
    c(200,400)=1;
    c(400,255)=1;
    c(250,252)=1;
    c(300,258)=1;
    c(100,270)=1;
    c(130,256)=1;
    c(310,260)=1;
    figure, imagesc (c)
     
    for i=1:dim(1)
        for j= 1: dim(2)
            if D(i,j)>0 & D(i,j)<10
               c(i,j) = 1; 
            end
        end
    end
     
    figure, imagesc(c)

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    bonjour,
    j'ai essayer autre chose mais ca ne marche toujours pas :-/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    for i=1:dim(1)
        for j= 1: dim(2)
            if 0<D(i,j)<=15
                coord=[i,j];
                for t=1:size(pt,1) %pt represente les coordonnees des points de c
                    if pt(t,:)==coord
                     c(D(i,j)):c(D(i,:)==1)==1;
                    end
                end
            end
     
        end
    end
    Au final je cherche a avoir un resultat tel que :
    c(400,250) : c(400,255) =1
    c(250,250) : c(400,252) =1
    c(300,250) : c(400,258) =1
    c(130,250) : c(400,256) =1

    les autres ne sont pas concerner car la distance est >=10

    Quelqu'un aurait il une idee s'il vous plait?

Discussions similaires

  1. [VSTO] comment exécuter une application à distance.
    Par maa dans le forum Général Dotnet
    Réponses: 9
    Dernier message: 17/09/2007, 23h53
  2. Réponses: 1
    Dernier message: 05/06/2007, 10h43
  3. Comment démarrer une application à distance ?
    Par Jean-Jacques Engels dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 20/10/2005, 14h53
  4. [sqlserver] comment appeler une application a distance
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/09/2005, 17h24
  5. Comment completer une variable dans une PROC
    Par Le Basque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2004, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo