
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