Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Graphics and GUIs with MATLAB

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Bilder aus Ordner nacheinander einlesen und abspeichern

 

lenx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2020, 20:37     Titel: Bilder aus Ordner nacheinander einlesen und abspeichern
  Antworten mit Zitat      
guten Abend,

was ich gerne machen würde:

1. Bilder aus einem ordner nacheinander in Matlab einlesen (Name: Bild1.png, Bild2.png, Bild3.png, ..Bild20.png)
2. Jedes einzelne Bild bearbeiten durch Filter (was genau ich mache ist irrelevant für die frage)
3. Die bearbeiteten Bilder automatisiert folgendermaßen abspeichern: Edited1.png, Edited2.png, Edited3.png, ... Edited20.png)

-> ich suche eine Methode um den teil des automatisierten Einlesens und des abspeicherns zu realisieren.. Bis jetzt mache ich alles manuell mit unread und unwrite und es ist sehr viel Arbeit alles einzeln einzulesen und abzusichern..

Kann jemand Hilfe bieten oder eventuell Verweis auf einen code (habe keinen gefunden)
danke


Harald
Forum-Meister

Forum-Meister


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

unread? unwrite? Du meinst nicht etwa imread und imwrite ??

Die Möglichkeiten sind dir + for-Schleife oder imageDatastore.

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
 
lenx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2020, 21:58     Titel:
  Antworten mit Zitat      
ja genau mit imread und imwrite.. Autokorrektur..
mit
Code:
hab ich schon rausgefunden aber weiß nicht wie ich es in code einbinde um es aus dem Ordner 'Bilder' in Matlab zu laden und auch abzuspeichern mit einer variable die hochzählt
code schaut so aus bis jetzt:

Code:
B1 = imread ('Bild[b]1[/b].png');
bild2 = ...
bild3 = ...    (versch. Filter auf B1 angewandt)
bild4 = ...
bild5 = ...


imwrite(bild2,'Edited2-[b]1[/b].png');
imwrite(bild3,'Edited3-[b]1[/b].png');
imwrite(bild4,'Edited4-[b]1[/b].png');
imwrite(bild5,'Edited5-[b]1[/b].png');
 


bin um Hilfe dankbar
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 21.554
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.05.2020, 22:28     Titel:
  Antworten mit Zitat      
Hallo,

Autokorrektur kann man auch rückgängig machen, wenn man danach nochmal liest, was man geschrieben hat. ;)

Code:
list = dir('Bild*.png');
for k = 1:numel(list)
     currentFile = list(k).name;
     B = imread(currentFile);
     % B bearbeiten
     bild2 = ...
     ...
     bild5 = ...
     imwrite(bild2, replace(currentFile, 'Bild', 'Edited2-'))
     ...
     imwrite(bild5, replace(currentFile, 'Bild', 'Edited5-'))
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
 
lenx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2020, 22:56     Titel:
  Antworten mit Zitat      
danke!!!
 
lenx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2020, 23:22     Titel:
  Antworten mit Zitat      
nochmal ein Problem an die Matlab freunde..
wenn die Dateien alle unterschiedlich heißen (nicht: Bild1.png, Bild2.png, ...) und nacheinander Eingelsen werden sollen aus dem Ordner in Matlab namens 'Bilder' ..
wie wird dann der Inhalt des Ordners nacheinander Eingelsen?
 
Harald
Forum-Meister

Forum-Meister


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

Code:
list = dir('Bilder\*.png');

Du musst dir nur überlegen, wie du dann die Namen der zu schreibenden Bilder vernünftig generierst.

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
 
lenx

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.05.2020, 10:18     Titel:
  Antworten mit Zitat      
Hab versucht auf den Matlab ordner Bilder zuzugreifen und die unterschiedlich benannten bilder nacheinander einzulesen. Leider klappt es nicht (keine Fehlermeldung aber nichts passiert)
Eigentlich wollte ich sie dann in einem anderen ordner namens 'Ausgansbilder' abspeichern. ich weiss aber nicht wie.
Kannst du nochmal helfen bitte?


Code:
list = dir('Bilder\*.png');
for k = 1:numel(list)
     currentFile = list(k).name;
     Bild = imread(currentFile);

B1 = Bild ;
bild2 = B1 + ...

imwrite(bild2, replace(currentFile, 'Ausgansbilder\*', 'b2-'))
 
end
 
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 21.554
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.05.2020, 11:00     Titel:
  Antworten mit Zitat      
Hallo,

wie sieht list denn im Workspace aus? Falls es leer ist, wurde nichts gefunden.
Der dir-Befehl geht davon aus, dass Bilder ein Unterordner des momentanen Ordners ist. Wenn dem nicht so ist, musst du einen relativen oder absoluten Pfad angeben.

Wenn du in einen bestimmten Pfad speichern willst, würde ich fullfile verwenden, um Pfad und Dateiname zusammenzusetzen.

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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2020 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.