2017-05-15 3 views
0

Ich habe zwei Bilder - ein binarisiert, und ein Original.Matlab: Ausführen von Operationen mit 'struct' in der Bildverarbeitung

Ich benutze das binarisierten Bild zu segmentieren bwconncomp und anschließend für jeden Blob/Region, möchte ich die Pixel-Intensitäten aus dem ursprünglichen Bild zusammenzufassen.

ich, dass durch:

blobMeasurements = regionprops(binarizedImage, originalImage, 'pixelvalues'); 

Jetzt habe ich eine Struktur mit einem 'p x 1' Vektor für jeden Blob/Region. Ich muss diese Pixelintensitäten summieren, so dass ich für jeden Blob/Bereich einen "Summen" -Wert habe. Wie führe ich diesen Vorgang aus? Gibt es einen besseren Weg, dies zu tun?

Danke.

+0

Vielleicht mit 'sum'? – beaker

Antwort

0

Diese Versuchen:

blobIntensities = arrayfun(@(x) sum(x.pixelvalues(:)), blobMeasurements); 

arrayfun führt die gegebene Funktion @(x) sum(x.pixelvalues(:)) auf jeder der p Element der Strukturanordnung blobMeasurements. Hoffe das hilft.

+0

Nein: >>> Undefinierte Funktion 'sum' für Eingabeargumente vom Typ 'struct'. >>> Fehler in @ (x) Summe (x (:)) – Sovm

+0

Ich habe meine Antwort bearbeitet. Die Reparatur sollte den Trick machen. – souty

Verwandte Themen