|
rcsapo |
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2013, 00:35
Titel: Kontrast-Anpassung
|
|
Liebe Matlab-Experten,
Ich versuche unterschiedliche Gewebe (namentlich Muskel- und Fettgewebe) in MR-Bildern mittels Threshold-Verfahren zu segmentieren. Das Muskelgewebe ist im Bild recht homogen dunkel, was sich in einem Histogramm mit einem prominenten Peak bei Intensitäts-Werten von 0 und knapp darüber widerspiegelt. Die Intensität von Fett hingegen ist zwar durchwegs höher, jedoch in sich sehr heterogen, so dass das Histogramm eher einen langen, flachen Ausläufer, als einen zweiten prominenten Peak zeigt.
Im Endeffekt hätte ich im Histogramm gerne zwei klar unterscheidbare Peaks, mit einem Tal dazwischen, bei dem ich meinen Threshold festsetzen kann. Wie könnte ich den Kontrast vergrößern, am besten indem niedrige Intensitäten niedrig gehalten und die höheren Intensitäten zusammengeschoben werden?
Für Vorschläge wäre ich sehr dankbar,
Robert
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2013, 06:33
Titel:
|
|
Moin,
da gibt es mehrere Möglichkeiten. Versuche mal das:
Viele Grüße - Hubertus
|
|
|
rcsapo |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2013, 23:45
Titel:
|
|
Hallo Hubertus,
Vielen Dank für den Vorschlag. Bei meinen MR-Bildern (Typ int16) bekomme ich hiermit negative Intensitäten im Histogramm. Wie ist das zu erklären? Und könntest Du in Laien-Manier erklären, was die beiden Parameter, die Du der stretchlim-Funktion übergibst, eigentlich tun?
Danke,
Robert
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.05.2013, 07:08
Titel:
|
|
|
|
|
Deine Erwartung war, die Kontraste im Bild zu ändern. Diese liegen bei uint 8 zwischen 0 + 256 und bei uint16 zwischen 0 + 65535. Um zu verstehen, wie sich die Kontraste verändern, rufe mal folgende Funktion auf:
Du hast jetzt alle Möglichkeiten, die Grautöne auf andere Werte zu indizieren. Gleichzeit werden die Werte für das beste Resultat ausgegeben. Es gibt eine ganze Reihe Funktionen, die je nach Schwerpunkt die Grautöne indizieren. Die Frage, was
macht, ist einfach. Die Funktion imadjust alleine (ohne zus. Wertangaben!) würde die Grautöne deines Bildes auf den Wertebereich zwischen 0 + 1 (bzw. 0 + 256) strecken. Die Funktion stretchlim schränkt den Wertebereich auf die Vorgabe (wie in der Zeile) ein. Die neuen Werte werden also nur noch zwischen 0.2 + 0.6 abgebildet.
Mit dieser Funktion sollte man für andere Zwecke vorsichtig sein, da alle Bildteile außerhalb dieser Werte verloren gehen! Das passiert nicht, wenn man mit einer Gradationskurve arbeitet und die Kurve nur zwischen den Endwerten verändert.
Deine negativen Werte sind vermutlich mit der Funktion "hist" entstanden, die mittig den 0-Punkt setzt. Mit "imhist" darf das eigentlich nicht passieren. Jedenfalls fällt mir im Moment kein Beispiel ein.
|
|
|
rcsapo |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2013, 05:04
Titel:
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2013, 06:20
Titel:
|
|
Die Bildverarbeitung macht letztlich nichts anderes, als Grauwerte zu ändern. Um das zu erreichen gibt es weitaus mehr Verfahren. Man sollte sich ein Bild immer mit dem Gedanken ansehen, welchen Verfahren denn noch in Betracht zu ziehen sind. Solange du keine eindeutigen Grautrennungen bekommst, wird dein Threshold wohl nicht zufrieden ausfallen. Zunächst könnte man noch versuchen, mit anderen Verfahren, im Wege der Vorverarbeitung, den Threshold zu verbessern . Das könnten z.B. richtungsabhängige Filterkernel sein oder auch Hochpassfilter, der direkt an Kanten wirkt.
|
|
|
|
|
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.
|
|