On Sun, Jan 15, 2012 at 10:45 AM, <a...@pdauf.de> wrote: > > Counting the Colors of RGB-Image, > nameit im0 with im0.shape = 2500,3500,3 > with this code: > > tab0 = zeros( (256,256,256) , dtype=int) > tt = im0.view() > tt.shape = -1,3 > for r,g,b in tt: > tab0[r,g,b] += 1 > > Question: > > Is there a faster way in numpy to get this result? > > > MfG elodw >
Assuming that your image is made up of integer values (which I guess they'd have to be if you're indexing into `tab0`), then you could write: >>> rgb_unique = set(tuple(rgb) for rgb in tt) I'm not sure if it's any faster than your loop, but I would assume it is. -Tony
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion