Hi All

I have a nested array created using:

edges = scipy.misc.pilutil.imfilter(prent,'find_edges')

edges
array([[[  0, 255,   0],
        [  0, 255,   0],
        [  0, 255,   0],
        ..., 
        [  0, 255,   0],
        [  0, 255,   0],
        [  0, 255,   0]],

       [[  0, 255,   0],
        [  0,   0,   0],
        [  0,   0,   0],
        ..., 
        [  0,   0,   0],
        [  0,   0,   0],
        [  0, 255,   0]],

       [[  0, 255,   0],
        [  0,   0,   0],
        [  0,   0,   0],
        ..., 
        [  0,   0,   0],
        [  0,   0,   0],
        [  0, 255,   0]],

       ..., 
       [[  0, 255,   0],
        [  0,   0,   0],
        [  0,   0,   0],
        ..., 
        [  0,   0,   0],
        [  0,   0,   0],
        [  0, 255,   0]],

       [[  0, 255,   0],
        [  0,   0,   0],
        [  0,   0,   0],
        ..., 
        [  0,   0,   0],
        [  0,   0,   0],
        [  0, 255,   0]],

       [[  0, 255,   0],
        [  0, 255,   0],
        [  0, 255,   0],
        ..., 
        [  0, 255,   0],
        [  0, 255,   0],
        [  0, 255,   0]]], dtype=uint8)

I want to count the number of occurrences of certain unique elements in the array, I know what the elements are that I want to count [0,255,0], [255,0,0] and [0,0,255].
I want to count the number of pixels of a particular color in a picture to determine the edge length and calculate areas and such.
array does not have a array.count() method and trying to count the instances using a nested for loop like:

for xiter in range(xindex):
for yiter in range(yindex):
if edges[xiter,yiter,:] == [255,0,0]:
groenpixelarea = groenpixelarea + 1
if edges[xiter,yiter,:] == [0,255,0]:
rooipixelarea = rooipixelarea + 1
if edges[xiter,yiter,:] == [0,0,255]:
bloupixelarea = bloupixelarea + 1 

results in:

    16 for xiter in range(xindex):
     17         for yiter in range(yindex):
---> 18                 if edges[xiter,yiter,:].any() == [255,0,0]:
     19                         groenpixelarea = groenpixelarea + 1
     20                 if edges[xiter,yiter,:] == [0,255,0]:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
WARNING: Failure executing file: <analiseerverwerkteprent.py>


What am I doing wrong?

Thanx

--
Dewald Pieterse