www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Gradient mit Sobel-Operator un
Gradient mit Sobel-Operator un < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Gradient mit Sobel-Operator un: Probleme
Status: (Frage) beantwortet Status 
Datum: 11:54 Do 14.12.2006
Autor: nabla

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:

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) );
        [mm] edge_x(i,j)=SX; [/mm]
        [mm] edge_y(i,j)=SY; [/mm]

        %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;


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

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:

http://www.informatik-forum.at/showthread.php?p=382490#post382490
http://matheplanet.com/default3.html?call=viewforum.php?forum=41003&ref=http%3A%2F%2Fwww.google.de%2Fsearch%3Fhl%3Dde%26sa%3DX%26oi%3Dspell%26resnum%3D0%26ct%3Dresult%26cd%3D1%26q%3Dmatlab-forum%26spell%3D1

        
Bezug
Gradient mit Sobel-Operator un: Antwort
Status: (Antwort) fertig Status 
Datum: 19:10 Do 14.12.2006
Autor: Martin243

Hallo,

ohne Hinzusehen würde ich mal sagen, dass das an der Indizierung der Bildmatrix liegt. Hier gehen die Indizes in x-Richtung von links nach rechts und in y-Richtung von oben nach unten.
In einem Koordinatensystem haben wir für die x-Achse dieselbe Richtung, für die y-Achse aber die umgekehrte.
Wenn wir nun einen Winkel berechnen, dann wird er wohl an der x-Achse gespiegelt. Kann das sein?


Gruß
Martin

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]