How to sum up a few numbers in sequence and save as a separate matrix
Mostra commenti meno recenti
I have a matrix like [0; 0; -1; -2; -1; 0; 0; 0; -2; -1; 0]. From here I would like to sum up sequences of non-zero values and save the result in a separate matrix. From the example, the result should be [-4; -3]. How should I write the code?
Thank you.
Risposta accettata
Più risposte (1)
Image Analyst
il 4 Dic 2015
An alternate way using the Image Processing Toolbox:
A = [0; 0; -1; -2; -1; 0; 0; 0; -2; -1; 0] % input
measurements = regionprops(logical(A~=0), A, 'Area', 'MeanIntensity');
allAreas = [measurements.Area]
allIntensities = [measurements.MeanIntensity]
integratedValues = allAreas .* allIntensities
Of course you could combine it all into 2 lines if you wanted it more compact (but more cryptic):
measurements = regionprops(logical(A~=0), A, 'Area', 'MeanIntensity');
integratedValues = [measurements.Area] .* [measurements.MeanIntensity]
Categorie
Scopri di più su Image Processing Toolbox in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!