|
Nicolas S. |

Forum-Century
|
 |
Beiträge: 146
|
 |
|
 |
Anmeldedatum: 15.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014a/b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 09:25
Titel: JPEG aus Variable lesen
|
 |
Hallo zusammen,
ich habe in Matlab eine Variable, die sämtlichen Inhalt eines JPEGs enthält, nennen wir sie "b". Das Ganze will ich als Bild "A" behandeln, wie es z.B. mit "imread" eingelesen werden könnte. Folgendes würde also funktionieren:
Allerdings habe ich keine Lust, das Ganze über die Festplatte laufen zu lassen, da das recht langsam ist und recht viele Bilder anfallen.
Hat jemand einen Tipp, wie das direkt in Matlab funktionieren kann?
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 09:51
Titel:
|
 |
Hallo,
vielleicht verstehe ich die Frage nicht ganz, aber ein "Bild" ist in MATLAB in der Regel ja nichts anderes als eine 2D- oder 3D-Matrix, je nachdem ob das Bild indiziert oder true color ist.
Es sollte also möglich sein, z.B. mit reshape und ähnlichen die Information aus b in das gewünschte Format umzuwandeln. Frage also: wie genau sieht b gegenwärtig aus?
Grüße,
Harald
|
|
|
Nicolas S. |
Themenstarter

Forum-Century
|
 |
Beiträge: 146
|
 |
|
 |
Anmeldedatum: 15.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014a/b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 09:55
Titel:
|
 |
Hallo Harald,
"b" ist ein eindimensionales Array aus uint8, das die Binärdaten eines JPEG-Bildes enthält, d.h. wenn ich "b" unverändert in eine Datei speichere, entsteht eine gültige *.jpg-Datei.
Was ich allerdings will ist ein Bild im Matlab-Format (also die z.B. 640x480x3-Matrix mit den RGB-Werten).
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 10:08
Titel:
|
 |
Hallo,
wenn ich es richtig verstehe, ist es also "lediglich" ein Problem der Anordnung der Werte, müsste also mit RESHAPE zu lösen sein?
Ich muss gestehen, dass ich nicht weiß, in welcher Reihenfolge die Bildinformationen in einem JPG gespeichert sind, insofern kann ich da leider auch nicht genauere Vorschläge anbieten.
Grüße,
Harald
|
|
|
Nicolas S. |
Themenstarter

Forum-Century
|
 |
Beiträge: 146
|
 |
|
 |
Anmeldedatum: 15.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014a/b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 10:12
Titel:
|
 |
Hallo Harald,
nein, das Problem ist, daß JPEG ein komprimiertes Binärformat ist, in dem Daten komplett anders als in Matlab abgelegt sind. "imread" dekodiert dieses Binärformat, läßt sich aber meines Wissens nach nur auf eine Datei und nicht auf eine Variable anwenden.
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 10:26
Titel:
|
 |
Hallo,
jetzt habe ich das Problem zwar verstanden, habe aber leider keine Lösung dafür. Letztlich werden beim Einlesen von JPG mex-Dateien verwendet, man kann also auch nicht einfach vorhandenen Code für seine Zwecke anpassen.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 26.10.2012, 15:29
Titel: Re: JPEG aus Variable lesen
|
 |
Hallo Nicolas S.,
Zunächst würd ich den Code vereinfachen und unbedingt den UINT8-Classifier einfügen:
Ich vermute mit MEMMAPFILE liesse sich das File auch effizient im RAM erstellen. Ob IMREAD damit zurecht kommt ist mir aber nicht klar.
Gruß, Jan
|
|
|
|
|
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 - 2025
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.
|
|