Re: [Numpy-discussion] Counting the Colors of RGB-Image
Sorry, that i use this way to send an answer to Tony Yu , Nadav Horesh , Chris Barker. When iam direct answering on Your e-mail i get an error 5. I think i did a mistake. Your ideas are very helpfull and the code is very fast. Thank You elodw
unique has an option to get indexes out which you can use in
combination with sort to get the actual counts out.
tab0 = zeros( 256*256*256 , dtype=int)
col=ravel(((im0[...,0].astype('u4')*256+im0[...,1])*256)+im0[...,2])
col,idx=unique(sort(col),True)
idx=hstack([idx,[2500*2500]])
tab0[col]=idx[1:]-idx[:-1]
tab0.shape=(256,256,256)
As Chris pointed out, if each pixel were 4 bytes you could probably
just use im0.view('>u4') for histogram values.
//Torgil
On Wed, Jan 18, 2012 at 10:26 AM,
Sorry,
that i use this way to send an answer to Tony Yu , Nadav Horesh , Chris Barker. When iam direct answering on Your e-mail i get an error 5. I think i did a mistake.
Your ideas are very helpfull and the code is very fast.
Thank You
elodw
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
On Wed, Jan 18, 2012 at 1:26 AM,
Your ideas are very helpfull and the code is very fast.
I'm curios -- a number of ideas were floated here -- what did you end up using? -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker@noaa.gov
Am 23.01.2012 18:17, schrieb Chris Barker:
On Wed, Jan 18, 2012 at 1:26 AM,
wrote: Your ideas are very helpfull and the code is very fast. I'm curios -- a number of ideas were floated here -- what did you end up using?
-Chris
I'am sorry but when i see the code of Torgil Svenson, I think, "the game is over". I use the follow. code: t0=clock() tt = n_im2.view() tt.shape = -1,3 ifl = tt[...,0].astype(np.int)*256*256 + tt[...,1].astype(np.int)*256 + tt[...,2].astype(np.int) colors, inv = np.unique(ifl,return_inverse=True) zus = np.array([colors[-1]+1]) colplus = np.hstack((colors,zus)) ccnt = np.histogram(ifl,colplus)[0] t1=clock() print (t1-t0) t0=t1
--
Christopher Barker, Ph.D. Oceanographer
Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
participants (4)
-
apo@pdauf.de
-
Chris Barker
-
elodw
-
Torgil Svensson