1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. nabla

Beiträge von nabla

  • Matlab - Gradient mit Sobel-Operator und Richtung bestimmen

    • nabla
    • 14. Dezember 2006 um 14:02

    Ja schonmal vielen Dank, aber mir ist es halt wichtig, dass ich auch verstehe, was in den Funktionen abläuft und generell müsste es ja über den SOBEL-Operator auch funktionieren, oder?

    Der Betrag scheint bei mir ja auch zu stimmen, aber das Problem liegt in der Richtung. Weiß einer, wie man die berechnet. Ich würde folgendes Vorschlagen:

    GDIR = 360/(2*pi)*(atan2 ( double(edge_y) , double(edge_x) )) ;

    Bekomme aber nur in eine Richtung "richtige" Werte...

  • Matlab - Gradient mit Sobel-Operator und Richtung bestimmen

    • nabla
    • 14. Dezember 2006 um 11:42

    Hallo, ich möchte mit Hilfe des Sobeloperators eine Kantendetektion durchführen. Außerdem möchte ich nachher für eine Klassifizierung mit den Richtungen der Gradienten weiterarbeiten. Hier mal der Matlab-Code:

    Code
    for i = 2: (imagesize(1)-1)  %rows
    
        for j = 2:(imagesize(2)-1) %columns
    
            % calculate sx and sy
            SX = threshold*( Image(i-1,j+1) + 2* Image(i,j+1) + Image(i+1,j+1) - Image(i-1,j-1) - 2*Image(i,j-1) - Image(i+1,j-1) );
            SY = threshold*( Image(i+1,j+1) + 2* Image(i+1,j) + Image(i+1,j-1) - Image(i-1,j+1) - 2*Image(i-1,j) - Image(i-1,j-1) );
    %         SX = (-1)*threshold*( Image(i-1,j+1) + 2* Image(i,j+1) + Image(i+1,j+1) - Image(i-1,j-1) - 2*Image(i,j-1) - Image(i+1,j-1) );
    %         SY = (-1)*threshold*( Image(i+1,j+1) + 2* Image(i+1,j) + Image(i+1,j-1) - Image(i-1,j+1) - 2*Image(i-1,j) - Image(i-1,j-1) );
            edge_x(i,j)=SX;
            edge_y(i,j)=SY;
    
    
            %calculate Magnitude
            GMAG = sqrt( double(SY*SY) + double(SX*SX));
            %calculate direction array GDIR
            GDIR(i,j) = 360/(2*pi)*(atan2 ( double(SY) , double(SX) )) ; 
    
            EDGE(i,j)=GMAG;
    
    
        end;
    end;
    Alles anzeigen


    Leider erhalte ich nun in x-Richtung die jeweilige Richtungsangabe von Dunkel nach Hell und in Y-Richtung die Angabe für Hell nach Dunkel. Hat einer eine Idee woran das liegen könnte?

    Danke
    Nabla

Rechtliches

Impressum

Datenschutzerklärung