|
|
Image-Gradienten berechnen und anzeigen |
|
Dr.Nick |
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 04.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.05.2009, 17:55
Titel: Image-Gradienten berechnen und anzeigen
|
|
Hallo zusammen,
ich versuche gerade zu einem Bild die Gradienten in x, in y und in beiden Richtungen zusammen zu berechnen und die Ergebnisse als Bilder anzuzeigen.
Der folgenden Code sollte eigentlich den Gradienten in x und y Richtung ausrechnen und anzeigen, funktioniert aber nicht:
Was mache ich falsch und wie lassen sich die Gradienten nur in eine Richtung ausrechnen?
Danke schonmal
Nick
|
|
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.05.2009, 08:20
Titel:
|
|
Hallo Dr. Nick,
der Aufruf von image in folgender Codezeile verursacht Probleme.
image stellt das Bild dar und gibt ein handle zurück; gradient benötigt aber die Bildmatrix selbst und nicht ein handle. Wenn Du beide Ableitungen haben möchtest, musst Du zwei Rückgabewerte angeben (ansonsten bekommst Du nur x-Richtung.
berechnet den Gradienten in x und y Richtung.
|
|
|
Dr.Nick |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 04.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.05.2009, 15:51
Titel:
|
|
Aaalso, hab die betreffende Zeile jetzt mal in
geändert. Danach bekomme ich aber die Fehlermeldung
Was ist da jetzt falsch?
Übrigens: Wenn ich die Version
nutze, bekomme ich keine Fehlermeldung, sondern ein komplett schwarzes Bild.
Das gleiche Phänomen tritt auch auf, wenn ich den Edge-Befehl verwenden will, da lautet die Fehlermeldung (ohne image()) allerdings
Das Bild was ich mit image()-Befehl erhalte, ist hier blau, was wahrscheinlich daran liegt, dass ich das Bild vorher nicht in ein grayscale umwandle.
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.05.2009, 18:37
Titel:
|
|
Der Befehl rgb2gray gibt ein Bild von gleichem Datentyp zurück wie das Eingabebild. In Deinem Fall wohl ein uint8 oder uint16. Der Befehl gradient kann mit diesem Typ nicht umgehen, daher die Fehlermeldung. Du musst also vorher den Datentyp ändern durch einen cast double(im_original) oder den Befehl im2double.
|
|
|
Dr.Nick |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 04.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.05.2009, 19:07
Titel:
|
|
hey, supi, das klappt! Vielen Dank!
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|