Ich arbeite gerade an einem Bildbearbeitungsproblem. Mein Ziel ist eine Klassifizierung der Imagepixel durchzuführen und zwar, je nachdem wie gross der Gradient am gegenwärtigen Pixel ist.
Nun habe ich mal die Standard-MATLAB Befehle benutzt und alles zu bestimmen:
Man würde jetzt erwarten, dass das letzte Bild sowohl Gradienten in x, als auch in y Richtung anzeigt. Das scheint aber nicht der Fall zu sein (siehe Attachment). Gewisse Farben fallen einfach weg.
Naja, ich bezweifle, dass dies der Fall ist (ist ja schliessliche eine Standardfunktion), aber mit der zweiten Methode hat's nun endliche funktioniert.
So einfach ist das nicht! Wenn du die Funktion hessian anwenden willst kannst du sie nicht links von = setzen. Da stehen eine oder mehrere Variablen. Außerdem kannst du das leicht prüfen, wenn du statt hessian einfach nur x nimmst. Du bekommst das gleiche Ergbnis. Hessian ist in deinem Beispiel ohne Funktion!
Prüfe, ob die Funktion hessian vorhanden ist oder ob es vielleicht ein 2. File mit gleichem Namen gibt:
Jetzt ist irgendwie alles durcheinander. Du hast zunächst die Funktion:
Zitat:
[a] = hessian(img);
mit Fehler gemeldet. D.h. du möchtest diese Funktion nutzen, aber es kommt eine Fehlermeldung. Daraufhin habe ich als 1 Möglichkeit auf das Fehlen dieser Funktion hingewiesen. Danach hast du die gleiche Funktionsbezeichung als Variable angewendet und darauf hingewiesen:
Zitat:
aber mit der zweiten Methode hat's nun endliche funktionier
Es entstand der Eindruck, dass du den gemeldeten Fehler so umgehen willst, in dem du die Funktion vor dem Gleichheitszeichen setzt. Das ist falsch.
Ich denke, jetzt müsste alles klar sein. Natürlich kannst du diese Variable so benennen. Es ist aber nicht ratsam das zu tun, denn in längeren Scripten könnten sich Fehler einschleichen, weil Matlab dann diese Funktion starten will.
Es entstand der Eindruck, dass du den gemeldeten Fehler so umgehen willst, in dem du die Funktion vor dem Gleichheitszeichen setzt. Das ist falsch.
Ich denke, jetzt müsste alles klar sein. Natürlich kannst du diese Variable so benennen. Es ist aber nicht ratsam das zu tun, denn in längeren Scripten könnten sich Fehler einschleichen, weil Matlab dann diese Funktion starten will.
Stimmt - da hast du Recht. Werde das nun berichtigen.
Danke für den Hinweis!
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.