Verfasst am: 14.03.2014, 14:12
Titel: 200*5 Bilder addieren/mitteln und speichern
Hallo,
ich möchte mit Matlab gerne Bilder addieren und mitteln. Es sind 8-bit .png Dateien. Pro Ordner habe ich 200 Bilder. Gesamt sind es fünf Ordner. Es sollen jeweils die ersten Bilder aus den Ordnern addiert und durch 5 geteilt werden, dann die jeweils die zweiten usw.
Die entstandenen Bilder sollen wieder als .png in gleicher Auflösung abgespeichert werden.
Bisher habe ic folgenden Code zusammengebastelt:
Code:
clc;
clearall;
path1=uigetdir;
path2=uigetdir;
files1=dir(path1); %liste aller dateien in ordner 1
files2=dir(path2); %liste aller dateien in ordner 2
count1=length(files1); % anzahl der dateien in ordner 1
count2=length(files2); % anzahl der dateien in ordner 2
count1
files1
files2
j=0; %Startwert für korrekte Anzahl an Bilddateien am Ende
x=0;
Damit will ich zunächst zwei Ordner wählen um jeweils die ersten, zweiten,.. Bilder zu addieren. Leider gibt er mir beim Befehl "imwrite(..)" einen Fehler aus:
"Attempt to reference field of non-structure array."
Weiß jemand wieso er das Bild nicht abspeichern kann?
Viele Grüße und schon mal danke für die Hilfe.. da ich kompletter Matlab-Anfänger bin wäre es hilfreich wenn ihr etwas ausführlicher antwortet sonst werde ich eher nicht mitkommen :X
Und wie mache ich das x im Dateinamen dann variabel? Ich will ja 200 Bilder in einem Ordner haben und nicht nur eines :X
Im Moment erstellt er mir ein Bild und das war es.. oder er überschreibt das jpg 200 mal.
Die Bilder sind alle Schwarz-Weiß. Es gibt 256 "Graustufen" von schwarz bis weiß und ich möchte die Bilder gerne "einfärben", am besten mit einem Gradienten von Rot über Grün bis Blau.
Wie kann man das machen? Und wie kann ich mir gleich eine Skala neben das Bild einblenden lassen indem die Intensitäten von 0 bis 255 beschriftet sind?
Und: welche Doku zu Matlab könnt ihr empfehlen? Als Einsteiger ohne Vorkenntisse hat man es recht schwer. Mir geht es lediglich um die Bildbearbeitung.
Die in diesem Thread gestellten Fragen sind allerdings noch im Bereich von Standard-MATLAB angesiedelt.
Zudem hilft Forumsuche oder Google. Die Frage nach variablen Dateinamen habe ich z.B. schon etliche Male beantwortet.
Grüße,
Harald
ChristianS
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 16.03.2014, 13:50
Titel:
Hi,
bin jetzt schon ein Stück weiter gekommen und die Bilder werden mittlerweile so dargestellt wie ich das gerne hätte. Allerdings gibt es das Problem, dass ich das Bild, zum Einfügen der Colorbar, aus der figure-Darstellung mit imshow heraus speichere.
Dabei entstehen mir um das Bild und um die colorbar herum große weiße Ränder. Diese würde ich gerne entfernen.
clc;
clearall;
path1=uigetdir;
path2=uigetdir;
files1=dir(path1); %liste aller dateien in ordner 1
files2=dir(path2); %liste aller dateien in ordner 2
count1=length(files1); % anzahl der dateien in ordner 1
count2=length(files2); % anzahl der dateien in ordner 2
j=0; %Startwert für korrekte Anzahl an Bilddateien am Ende
x=0;
for i=95:140 %Bildnr für start und Ende
if files1(i).isdir==0
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
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.