|
leon81 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2011, 12:37
Titel: 2D-Histogramm
|
|
Hallo Zusammen,
ich habe zwei Bilder mit identischen Dimensionen und möchte nun für jede Grauwertkombination (x,y) mit x,y = [0...255] die Häufigkeit bestimmen und daraus ein "Histogrammbild" bestimmen (Dimensionen 256x256).
Momentan habe ich es mit 2 ineinander verschachtelten for-Schleifen gelöst, die jeweils von 1...256 laufen. Dies ist jedoch bei größeren Bilddaten äusserst langsam.
Frage:
Wie kann ich den Code schneller machen? Gibt es evtl sogar Matlab-eigene Routinen zur Berechnung eines solchen Histogramms bzw zur Abfrage der Existenzhäufigkeit eines bestimmten Grauwertpaares?
Vielen Dank vorab für eure Vorschläge!
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 08.11.2011, 12:57
Titel: Re: 2D-Histogramm
|
|
Hallo leon81,
Ich verstehe das Problem noch nicht. Wie wird die "Grauwertkombination (x,y)" genau gebildet? Is x der Wert aus dem einen Bild und y der Wert aus dem zweiten Bild an jeweils der gleichen Pixel-Position?
Wenn Du Deinen Ansatz mit den FOR-Loops posten würdest, könnte man Ratschläge zur Beschleunigung geben und wahrscheinlich wäre damit auch meine Nachfrage bereits geklärt.
Gruß, Jan
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.11.2011, 13:35
Titel:
|
|
Hallo,
HIST3 mit passenden Parametern dürfte das gewünschte machen.
Grüße,
Harald
|
|
|
leon81 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2011, 13:41
Titel:
|
|
Hallo,
anbei der Code:
Wäre super, wenn jemand Vorschläge hätte, wie man das beschleunigen könnte!
Vielen Dank und Grüße!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.11.2011, 14:21
Titel:
|
|
Hallo,
s.o. - HIST3 macht genau das.
Grüße,
Harald
|
|
|
leon81 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2011, 14:38
Titel:
|
|
Hallo Harald,
könntest Du bitte den entsprechenden Code mit hist3 posten? Habe in der Doku leider nur Hinweise gefunden, die diesen Befehl als Plotroutine darstellen.
Ich möchte jedoch kein Histogramm geplottet haben, sondern ein 2D-"Histogrammbild" erstellen. Dies ist eine 256x256-Matrix mit den Existenzhäufigkeiten der Grauwertpaare in den beiden Eingangsbildern.
Vorab vielen herzlichen Dank!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.11.2011, 15:15
Titel:
|
|
Hallo,
mit der Syntax
holst du dir die Ergebnismatrix von hist3 zurück, ohne sie zu plotten.
Danach kannst du N z.B. mit image oder imagesc darstellen.
Grüße,
Harald
|
|
|
leon81 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2011, 15:34
Titel:
|
|
Erstmal vielen Dank!
Wie sieht das in meinem Fall explizit aus? was übergebe ich an hist3? die beiden Bilder? wenn nicht - dann was genau?
Danke und Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.11.2011, 15:58
Titel:
|
|
Hallo,
ich merke gerade, dass ich von deiner ursprünglichen Fragestellung ausgegangen war und die falsch verstanden habe.
Was jedoch gehen sollte:
Grüße,
Harald
|
|
|
leon81 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2011, 16:09
Titel:
|
|
Hallo,
vielen Dank, das hat mir weitergeholfen.
Sieht gut aus, scheint so als wenn es funktioniert.
Nochmals danke für Deinen Einsatz und viele Grüße
|
|
|
|
|
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.
|
|