|
stan |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.03.2011, 18:04
Titel: bilder zusammenfassen
|
|
hallo allen, vielleicht könnt ihr mir helfen. ich muss aus 5 bildern 1 machen und dieses eine in einem histogramm darstellen. ich weiß nun nicht mit welchem befehl ich das am besten mache. die einfache addition (anschließend teilen durch 5) funktioniert nicht, da dies grauwertbilder sind und die maximalen werte von 255 nicht überschritten werden, also auch nicht addiert werden. wie kann ich das machen?
danke
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 04:22
Titel:
|
|
Moin,
zum Addieren von Bilder nimmst Du den Befehl: "imadd". Soll das Addieren nur eine einfache Übung sein oder spielen die Bildinhalte eine Rolle? Die kann man nicht so einfach addieren. Dafür gibt es eine interessante Technik, die sich "Superresolution" nennt. Es gibt dafür bereits mehrere Matlabanwendungen - siehe Google.
Einen schönen Tag
Hubertus
|
|
|
stan |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 09:37
Titel:
|
|
|
|
|
danke erstmal für die antwort. zu den bildinhalten: es sind alles die gleichen bilder, welche beim aufnehmen minimale änderungen in den grauwerten von bild zu bild aufweisen (können). daher muss ich diese zusammenfassen (addieren und durch die 5 bilder teilen um auf den mittelwert zu kommen war nur eine idee) und in einem histogramm darstellen. jetzt habe ich bemerkt, dass wenn ich das mit dem befehl imadd mache, grauwerte die schon bei 255 liegen nicht addiert werden und ich dadurch falsche ergebnisse kriege, wenn ich anschließen teile. darüber hinaus kriege ich eine fehlermeldung beim teilen, da ich uint8 benutze wegen den grauwerten und beim teilen nicht immer ganze zahlen rauskommen können.
das ist keine übung, das gehört zu einem wissenschaftlichen versuch den ich auswerten muss.
gibt es nicht einen befehl mit welchem ich alle 5 bilder eingeben kann und dieser mir die durchschnittliche matrix der bilder ausgibt und ich das dann im histogramm darstellen kann?
|
|
|
aj.geissler |
Forum-Guru
|
|
Beiträge: 251
|
|
|
|
Anmeldedatum: 26.11.07
|
|
|
|
Wohnort: Seeheim-Jugenheim
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 09:42
Titel:
|
|
Hi,
anstelle von imadd würde ich folgendes vorschlagen:
Die Bildinhalte als Matrix behandeln. Die Grauwerde am besten in double oder uint32 wandeln.
Dann können die matrizen der 5 Bilder aufsummiert und ein Mittelwert gebildet werden.
Mit floor auf den ursprünglichen Wertebereich 0 ... 255 abrunden (uint8) und diese Matrix als Bild ausgeben bzw. eine Histogrammauswertung durchführen.
Grüße
Andreas
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 09:51
Titel:
|
|
Irgendwie habe ich Schwierigkeiten, Dein Problem zu verstehen. 255er Werte sind reinweiß. Diese zu addieren kann vielleicht in der Verrechnung zu Werten über 255 führen. Dafür verwendet man Verfahren mit Clipping, die oberhalb 255 die Werte beschneiden. Das ist aber normal, weil darüber hinaus nichts dargestellt werden kann. Es gibt einige Verfahren zur Histogrammnormierung, aber ich glaube, die helfen dann wohl nicht weiter.
Probleme der Teilung kannst Du umgehen, in dem Du die Daten in "double" wandelst, das ist ohnehin bei den allermeisten Funktionen erforderlich.
|
|
|
stan |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 14:13
Titel:
|
|
danke für die antworten. habs jetzt. mein fehler lag daran, dass ich im uint8 gearbeitet habe. mit uint16 funktionierts auch.
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 28.03.2011, 15:10
Titel:
|
|
Hallo,
also wenn es nur um das Mitteln verschiedener Bilder geht, dann reicht es doch einfach aus alle Bilder in eine 3D Matrix zusammenzufassen und dann den Befehl "mean", angewendet auf die 3. Dimension, anzuwenden, oder sehe ich da was falsch?:
MFG
Sco
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2011, 15:39
Titel:
|
|
...oder sehe ich da was falsch?:
Nö, schaut gut aus!!
Hubertus
|
|
|
|
|
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 - 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.
|
|