Counting zeros

Hi,
I would like to know how to calculate the number of zeros in an array and stop when the array value is one.
Example: a = [0 0 0 0 1 1 1 0 0 0]
here, there are 4 zeros before it meet array value of one.
then, let say I convert binary to RGB, 0=green and 1=red. The same thing goes here...how I want to calculate green pixel before it meet red pixel.
Anybody can give any idea. Thank you in advanced.

1 comentario

marlina
marlina el 15 de Ag. de 2011
Let say if 0 remain black, only 1 turn to green. How to calculate black pixel before it meet the first pixel of green?

Iniciar sesión para comentar.

 Respuesta aceptada

dhyun
dhyun el 15 de Ag. de 2011

1 voto

one method you could use is to find the first position where a == 1 and then subtract 1 from it:
num_zeros = find(a == 1, 1) - 1;

4 comentarios

marlina
marlina el 15 de Ag. de 2011
Thanks,
for binary its working.
How about in RGB?
Paulo Silva
Paulo Silva el 15 de Ag. de 2011
find(diff(a)==1) %green transition to red
find(diff(a)==-1) %red transition to green
Paulo Silva
Paulo Silva el 15 de Ag. de 2011
find(diff(a)) %gives two index values, green to red and red to green
marlina
marlina el 15 de Ag. de 2011
Thanks,
I tried it but some error occurred.
Let say if 0 remain black, only 1 turn to green. How to calculate black pixel before it meet the first pixel of green?

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 15 de Ag. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by