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, <apo@pdauf.de> wrote:
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, <apo@pdauf.de> 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 -- 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,<apo@pdauf.de> 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