[Numpy-discussion] Count occurrences in a nested ndarray
Dewald Pieterse
dewald.pieterse@gmail....
Tue Oct 19 20:09:39 CDT 2010
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20101020/438db8ac/attachment.html
More information about the NumPy-Discussion
mailing list