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

Bilder mitteln für Einsteiger

 

Spectre92xD
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.01.2016, 01:20     Titel: Bilder mitteln für Einsteiger
  Antworten mit Zitat      
Hallo,

ich habe bisher noch gar nichts mit Matlab gemacht und muss nun für mein Studium Bilder auswerten. Die Bilder stammen aus einem Experiment mit dem Background Oriented Schlieren Verfahren (BOS)

Nach mühsamer recherche habe ich nun die Bilder eingelesen und nun muss ich aus 19 Bildern nur noch ein Durchschnittsbild erzeugen. [2048x2048 Pixel; 16 Bittiefe; tiff-Datei]

Ich hoffe das ist nun soweit richtig gewesen, mit dem Ordner einlesen?

Denn es kam nachdem ich es laufen ließ 19 Mal diese Meldung:
Zitat:
>> liste=dir('C:\Users\Dominik\Documents\Studium\Bachelorarbeit\Einarbeitung\Probemessung\01 BOS04RB\*.tif');
for i = 1:length(liste)
id = liste(i).name;
Bild{i} = imread(id,'tif');
end

Warning: Only the first slice will be read from this image with depth 12.
> In readtif (line 4Cool
In imread (line 415)


Bitte korrigiert mich, falls etwas falsch sein sollte.

Zum Mitteln habe ich mir auch schon Gedanken gemacht. Es gibt da anscheinend mehrere Wege.

Ich dachte am Einfachsten wäre es, alle Bilder zu addieren (imadd??) und anschließend durch 19 zu teilen...

ist meine Annahme richtig?
Wie würde dann die folgenden Zeilen aussehen?

Vielen Dank schon mal im Vorraus. Smile
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 16.01.2016, 13:43     Titel:
  Antworten mit Zitat      
hi
bitte die code umgebung verwenden um code zu posten das macht das ganze leserlicher.
Code:
for i = 1:length(liste)
id = liste(i).name;
Bild(:,:,i) = imread(id,'tif');
end
bildmean=mean(Bild,3)
 

könnte klappen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Spectre92xD
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.01.2016, 16:38     Titel:
  Antworten mit Zitat      
Vielen Dank für den Tipp. Ich werde es nächstes mal beherzigen. Wink


Habe es mal ausprobiert, allerdings sehe ich bei bildmean dann nurnoch eine weiße Fläche...Außerdem hat sich die Bittiefe auf 8 reduziert.
Die ursprünglichen Bilder sind alle komplett schwarz mit winzigen hellen Punkten (einige wenige Pixel groß)

Irgendwie ist da wahrscheinlich schiefgelaufen...

kann ich nicht einfach alle Bilder addieren und durch 20 teilen?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.01.2016, 16:47     Titel:
  Antworten mit Zitat      
Nichts anderes macht mean, wobei bei 19 Bildern auch nur durch 19 geteilt wird.
Private Nachricht senden Benutzer-Profile anzeigen
 
Spectre92xD
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2016, 18:13     Titel:
  Antworten mit Zitat      
und warum kommt als Bild nur eine weiße Fläche raus mit reduzierter Bittiefe?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.01.2016, 18:17     Titel:
  Antworten mit Zitat      
Sicherlich nicht wegen dem mean Befehl. Vermutlich wird dann schon beim Einlesen etwas verändert.

Mal folgendes probiert?

Code:

Read an image and convert it to an RGB image.

Read the first image in the sample indexed image file, corn.tif.

[X,map] = imread('corn.tif');

X is a 415-by-312 array of type uint8.

Verify that the colormap, map, is not empty, and convert the data in X to RGB.

if ~isempty(map)
    Im = ind2rgb(X,map);
end

 
Private Nachricht senden Benutzer-Profile anzeigen
 
Spectre92xD
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2016, 00:24     Titel:
  Antworten mit Zitat      
ich habe es nun folgendermaßen gemacht...

Code:
a=imread('Export44whhjcb000000.tif')
b=imread('Export44whhjcb000001.tif')
c=imread('Export44whhjcb000002.tif')
d=imread('Export44whhjcb000003.tif')
e=imread('Export44whhjcb000004.tif')
f=imread('Export44whhjcb000005.tif')
g=imread('Export44whhjcb000006.tif')
h=imread('Export44whhjcb000007.tif')
i=imread('Export44whhjcb000008.tif')
j=imread('Export44whhjcb000009.tif')
k=imread('Export44whhjcb000010.tif')
l=imread('Export44whhjcb000011.tif')
m=imread('Export44whhjcb000012.tif')
n=imread('Export44whhjcb000013.tif')
o=imread('Export44whhjcb000014.tif')
p=imread('Export44whhjcb000015.tif')
q=imread('Export44whhjcb000016.tif')
r=imread('Export44whhjcb000017.tif')
s=imread('Export44whhjcb000018.tif')
t=imread('Export44whhjcb000019.tif')

addiert=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t

Mittelbild=addiert/2

imshow(Mittelbild)

imwrite(Mittelbild,'Mittelbild.tif')

end



Müsste stimmen, oder?
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.