|
|
bmp Images importieren und als 3D surface Plot darstellen |
|
pospiech |
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.09.2007, 15:46
Titel: bmp Images importieren und als 3D surface Plot darstellen
|
|
Ich habe 127x127 8 bit Graystufen BMP Bilder die ich in 3D darstellen möchte.
Wenn ich diese mit Matlab importiere, dann bekomme ich ein CData 127x127x3 Array.
Nur wie ich dieses Plotten soll ist mir unklar, denn folgendes geht nicht:
Matthias
|
|
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 03.09.2007, 17:39
Titel:
|
|
Hallo Matthias,
wenn Du Bilder importierst, haben sie ein Integer-Datenformat, enthalten also bei 8 Bit Werte zwischen 0 und 255. Im Workspace wird das bei den Variablen in der Spalte "class" angegeben. Da steht wahrscheinlich uint8.
Um den surf-Befehl verwenden zu können, brauchst Du, wie die Fehlermeldung sagt, Daten im double- oder single-Format. Du kannst Deine Daten leicht umwandeln. Wenn Deine Variable X heißt, gibst Du ein:
Mit der neuen Variable funktioniert der surf-Befehl, wie Du ihn verwendet hast. (Nur bei Graustufen, aber das ist Dir wohl klar.) Bei Verwendung von Farben braucht man, soweit ich weiß, den Befehl rgb2ind aus der Image Processing Toolbox, um aus den 3 Feldern einen Wert und die zugehörige colormap zu erzeugen. Aber das nur nebenbei.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
pospiech |
Themenstarter
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2007, 08:37
Titel:
|
|
liefert mir nur ein schwarzes bild, da LineStyle nicht auf None steht.
Nur wie stelle ich LineStyle auf None ?
Matthias[/code]
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 04.09.2007, 08:54
Titel:
|
|
Versuch's mal mit
Das ist gemeint, wenn in der Hilfe steht:
Alle Eigenschaften (properties) findet man, wenn man unten auf der Hilfeseite für surf auf surfaceplot klickt.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
pospiech |
Themenstarter
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2007, 08:58
Titel:
|
|
jetzt funktioniert alles soweit, nur bekomme ich noch eine Fehlermeldung bei colormap:
Was hat mir das jetzt zu sagen?
Matthias
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2007, 09:32
Titel:
|
|
Frage zum Verständnis
Du lädst ein 2D-Bild(!) und willst es in 3D darstellen? Welches Erscheinungsbild erwartest Du? Willst Du Farbanteile (RGB) der Pixels grafisch (3D) darstellen? Oder sollte das Bild als Texture einer Fläche in 3D verpasst werden?
MfG
|
|
|
pospiech |
Themenstarter
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2007, 09:45
Titel:
|
|
Anonymous hat Folgendes geschrieben: |
Frage zum Verständnis
Du lädst ein 2D-Bild(!) und willst es in 3D darstellen? Welches Erscheinungsbild erwartest Du? Willst Du Farbanteile (RGB) der Pixels grafisch (3D) darstellen?
|
Ja, es ist sowieso ein Graustufenbild und damit R=G=B.
Matthias
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 04.09.2007, 11:57
Titel:
|
|
pospiech hat Folgendes geschrieben: |
Was hat mir das jetzt zu sagen?
Matthias |
Hm, das kann ich mir nicht so recht erklären. 256 ist ja reell, positiv und ganzzahlig. Bei mir funktioniert der Befehl auch. Als Beispiel nehme ich
und es gibt keine Fehlermeldung. Geht das Beispiel bei dir?
Grüße Bijick
_________________
>> why
|
|
|
pospiech |
Themenstarter
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2007, 12:39
Titel:
|
|
Bijick hat Folgendes geschrieben: |
... und es gibt keine Fehlermeldung. Geht das Beispiel bei dir?
|
Ja.
Matthias
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 04.09.2007, 17:36
Titel:
|
|
Deine Fehlermeldung hat scheinbar keinen Sinn, weil, wie ich schon schrieb, 256 definitiv eine integer ist. jet(256) ist allerdings keine integer. Die Lösung: Du hast wahrscheinlich eine Variable namens colormap angelegt und damit den Matlab-Befehl überschrieben! Matlab versucht nun, die Variable colormap an der Stelle jet(256) auszuwerten, was aber nicht geht, da jet(256) Gleitkommazahlen enthält und keine ganzen Zahlen.
Da hätte ich ja auch gleich drauf kommen können...
Herzlichst Bijick
_________________
>> why
|
|
|
|
|
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.
|
|