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 :

Calcul d'angles


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 24
    Points : 7
    Points
    7
    Par défaut Calcul d'angles
    bonjour, voila avec ce code je dois calculer les angles de chaque trait, par exemple si j'ai deux traits je dois couper mon image en bloc et calculer le gradient puis estimer mon angle, mais voila j'aimerais que mon résultat soi mis dans un vecteur T, le problème c que les deux trais leurs angle respectivement sont de 37° et 33° alors dans mon vecteur il y a deux valeurs de 73° 73° .
    quelqu'un pourrait-il m'éclairer svp.
    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
    28
    29
    30
    31
    32
    33
    34
    % Initialisations
    clear all;
    close all;clc ;
    % Lecture de l'image originale.
    I = imread(' im.bmp');
    I=double(I);
    [n,m]=size(I);
    s3=0;s4=0;
    w=20;
    f=round(m/w);
    for i=1:n-2
        for j=1:w:m-2
            s1=-I(i,j)+I(i,j+2)-2*I(i+1,j)+2*I(i+1,j+2)-I(i+2,j)+I(i+2,j+2);
            s2=I(i,j)+2*I(i,j+1)+I(i,j+2)-I(i+2,j)-2*I(i+2,j+1)-I(i+2,j+2);
            s3=s3-2*s1*s2;
            s4=s4+(s2^2-s1^2);
     
     
            s5=0.5*atand(s3/s4);
            if s4<0 
                s5=s5+90;
            elseif s4>=0 
                if s3<0
                    s5=s5+180;
                else
                end
            else
            end
            for p=1:f
                    T(p)=s5;
            end
        end 
    end
    T

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Personnellement je ne comprends pas bien ton code.
    Tu as 2 boucles imbriquées et donc pour les valeurs de T tu n'auras que celles calculées pour i=n-2 et j=m-2.
    De plus tu fais :Donc quelque soit p, T(p) vaudra toujours s5.
    Normal que ton vecteur contienne les mêmes valeurs partout.

    conseil : tu as des else sans rien derrière, tu pourrais les enlever ça améliorerait la lecture du code.
    Règles du Forum

    Adepte de la maïeutique

Discussions similaires

  1. Calcul d'angle entre deux vecteurs
    Par feynman dans le forum Fortran
    Réponses: 8
    Dernier message: 22/09/2007, 13h59
  2. Calcul d'angle entre 2 vecteurs - direction
    Par lothei dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 03/09/2007, 19h29
  3. Calcul d'angles
    Par Giansolo dans le forum Octave
    Réponses: 3
    Dernier message: 27/02/2007, 19h00
  4. calcule d'angle entre 3 points d'une matrice
    Par bmw13fr dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/04/2006, 18h56
  5. calculer un angle
    Par m.nico dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2003, 20h55

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