WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Vektoren in Bildmatritzen umwandeln !

 

fsndyk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2019, 14:03     Titel: Vektoren in Bildmatritzen umwandeln !
  Antworten mit Zitat      
Hallo!
Ich bin relativ neu bei Matlab und ich habe folgendes Problem:
Ich habe eine csv datei, in der 3054 Bilder abgespeichert sind. Jede Zeile besteht aus 625 Spalten (25x25 Pixel) und jede Zeile stellt ein Bild dar.( insgesamt 3054 Zeilen).

Wie kann ich diese Vektoren in Bildmatritzen bzw als eine jpg Datei abspeichern?

Vielen Dank im Voraus!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.12.2019, 14:44     Titel:
  Antworten mit Zitat      
Hallo,

for-Schleife über die Zeilen und dann reshape anwenden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
fsndyk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2019, 15:08     Titel:
  Antworten mit Zitat      
Vielen Dank!

Besteht die Matrix aus 3 Spalten (RGB)? beziehungsweise wie schaut die for Schleife aus?

mfg
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.12.2019, 16:10     Titel:
  Antworten mit Zitat      
Hallo,

ich bin von Grauwerten ausgegangen.
Zudem müsstest du erst die Frage beantworten, wie die 625 Werte zu einer Matrix angeordnet werden müssen. Zeilen- oder spaltenweise?

Generell etwa so:
Code:
for k = 1:size(M,1)
img{k} = reshape(M(k,:), 25, 25);
end


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
fsndyk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2019, 20:13     Titel:
  Antworten mit Zitat      
Vielen Dank!

Jedoch bekomme ich bei der Implementierung zwei Fehler:
1.)
Error using tabular/reshape (line 216)
Undefined function 'reshape' for input arguments of type 'table'.
2.)
Error in Untitled3 (line 3)
img{k} = reshape(M(k,Smile,25,25);

Vielen Dank im Voraus!

Mfg
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.12.2019, 21:35     Titel:
  Antworten mit Zitat      
Hallo,

das ist eine Fehlermeldung und ihr Ursprung.
Du kannst den Table zunächst mit table2array umwandeln.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
fsndyk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2019, 22:56     Titel:
  Antworten mit Zitat      
Vielen Dank für die Information!

Im Anhang befinden sich die Dateien.
In design.csv sind die Bilder, wobei in jede Zeile ein Bild ''flach'' abgespeichert ist (25x25 Pixel=625 Zahlen pro Zeile). Jede Zeile ist ein Bild.
Die Klasse von jeder Zeile in design.csv ist in target.csv

Wie kann ich alle Bilder in dieser design Datei als JPEG abspeichern?

Vielen Dank für die Unterstützung!

Desktop.zip
 Beschreibung:

Download
 Dateiname:  Desktop.zip
 Dateigröße:  1.9 MB
 Heruntergeladen:  315 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.12.2019, 23:21     Titel:
  Antworten mit Zitat      
Hallo,

wie sollen denn aus den einzelnen Werten RGB-Werte werden?
Ob die Bilder spalten- oder zeilenweise gespeichert sind, hast du nicht beantwortet...
Andere Frage wäre noch ob von oben nach unten oder umgekehrt.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
fsndyk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2019, 23:48     Titel:
  Antworten mit Zitat      
Hallo,

Ich habe diesen Datensatz vom Lektor für die Bachelorarbeit so erhalten, ohne weitere Informationen. Da ich noch relativ neu bei Matlab bin, fällt mir die Konvertierung relativ schwer. Die Bilder könnten auch als Graustufenbilder gespeichert sein, habe leider nicht die Information dazu. Die Bilder sind zellenweise gespeichert. Eine Zeile ist ein Bild (von links nach rechts). insgesamt sind 3054 Bilder vorhanden.

Vielen Dank für die investierte Zeit!

Mfg
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.12.2019, 12:20     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich habe diesen Datensatz vom Lektor für die Bachelorarbeit so erhalten, ohne weitere Informationen.

Dann hätte ich ein paar Rückfragen für ihn. :)

Zitat:
Die Bilder könnten auch als Graustufenbilder gespeichert sein, habe leider nicht die Information dazu.

Dann wäre mein Vorschlag, R G und B gleich zu verwenden:
Code:
img{k} = repmat(img{k}, 1, 1, 3);


Zitat:
Die Bilder sind zellenweise gespeichert. Eine Zeile ist ein Bild (von links nach rechts).

Das ist klar. Wie sind aber die Pixel in einer Zeile angeordnet? Wird das Bild spalten- oder zeilenweise dargestellt? Von oben oder von unten? Das sind Infos, die man benötigt (oder im Nachhinein "erraten" muss, wenn das Bild "falsch" aussieht).

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
fsndyk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.12.2019, 14:11     Titel:
  Antworten mit Zitat      
Hallo,

habe leider einen Fehler erhalten;

Unable to perform assignment because the left and right sides have a different number
of elements.

Error in Untitled23 (line 4)
img (k) = repmat(img(k), 1, 1, 3);

Besitze leider keine Information bezüglich der Anordnung der Pixel in einer Zelle.

Mfg
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.12.2019, 15:56     Titel:
  Antworten mit Zitat      
Hallo,

du musst schon die Klammern richtig abschreiben.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
fsnydk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.12.2019, 19:46     Titel:
  Antworten mit Zitat      
Hallo,

beim Verwenden der Klammern kommt jedoch diese Fehlermeldung:

Brace indexing is not supported for variables of this type.

Error in Untitled2 (line 3)
img{k} = repmat(img{k}, 1, 1, 3);


Mtg
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.12.2019, 20:27     Titel:
  Antworten mit Zitat      
Hallo,

dann hast du img vorher irgendwie anders belegt. Workspace leeren oder vorbelegen:
Code:
img = cell(1, size(M,1));


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.