Is there any way to get the pixel counts of the segmented image using graphcut

2 vues (au cours des 30 derniers jours)
andhavarapu lokesh
andhavarapu lokesh le 18 Fév 2017
Commenté : Walter Roberson le 18 Fév 2017
I am using graphcut matlabs
Ncut = (graphcuts(bad3,3,50))
method to segment grayscale image. Is there any way to get the pixel counts? I am getting the segmented image as binary. How to convert the binary image to grayscale and get the pixel count of the segmented grayscale image

Réponses (1)

Walter Roberson
Walter Roberson le 18 Fév 2017
nnz(Ncut .* bad3)
nnz((~Ncut) .* bad3)
  3 commentaires
andhavarapu lokesh
andhavarapu lokesh le 18 Fév 2017
>> nnz((~Ncut).* bad3); Error using .* Integers can only be combined with integers of the same class, or scalar doubles.
Walter Roberson
Walter Roberson le 18 Fév 2017
"n = nnz(X) returns the number of nonzero elements in matrix X."
I presumed here that when you asked for "pixel counts" of a grayscale matrix that you were interested in the number of non-zero grayscale pixels. If you just wanted to know how many entries were there regardless of whether they are 0 or not, then
nnz(Ncut)
nnz(~Ncut)
Another way of writing nnz(Ncut) would be
sum(Ncut(:))
since each entry in Ncut is binary (0 or 1), this counts the number of non-zero entries, which is the same thing nnz does except nnz would be expected to be faster.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by