2017-09-21 2 views
1

Ich habe ein 3D-Bild und eine Maske, beide Größe [256x256x160]. Die Maske ist ein binäres Bild von 0 und 255. Nachdem die Maske auf das Bild anwenden wie so:Maskiertes Bild zeigt falsche Intensität

masked_image = image.*mask; 

Ich bekomme eine masked_image die völlig falsche Intensitätswerte hat. Tatsächlich sind seine Werte nirgendwo auf dem Originalbild zu finden. Sie sind einfach zu groß. Alles, was ich erreichen möchte, ist, die Intensitäten des Originalbildes am Ort der Maske zu extrahieren und den Mittelwert dieser ROI zu berechnen. Ich kann von imshow sehen, dass die Maske richtig auf dem Bild ausgerichtet ist. Das Anwenden der Maske ist jedoch nicht erfolgreich und ich verstehe nicht warum.

Antwort

1

Ihr mask sollte nicht von 0 bis 255 skaliert werden. Es sollte nur 0 oder 1 enthalten, um es so zu verwenden, wie Sie es möchten. Jede dieser Alternativen würde funktionieren:

0

Das Konvertieren der Maske in 0 und 1 statt 0 und 255 löste das Problem. Die extrahierten ROIs haben jetzt die richtige Intensität. Danke für die Klarstellung.