Re: Need faster way to combine arrays
- To: mathgroup at smc.vnet.net
- Subject: [mg36068] Re: [mg36045] Need faster way to combine arrays
- From: "Johannes Ludsteck" <johannes.ludsteck at wiwi.uni-regensburg.de>
- Date: Thu, 15 Aug 2002 02:36:19 -0400 (EDT)
- Organization: Universitaet Regensburg
- Sender: owner-wri-mathgroup at wolfram.com
Dear Kevin, Transpose[Flatten/@{r,g,b}] should be faster. Best regards, Johannes On 14 Aug 2002, at 5:35, Kevin Gross wrote: > Hello all, > > I've been using Mathematica for a while, but only recently for image > processing. Suppose I have the following 2D intensity arrays: > > r={{a1,b1},{c1,d1}}; > g={{a2,b2},{c2,d2}}; > b={{a3,b3},{c3,d3}}; > > Now I'd like to combine them to produce a color image. > > color=Table[{r[[i,j]],g[[i,j]],b[[i,j]]},{i,2},{j,2}] > > This returns > > {{{a1, a2, a3}, {b1, b2, b3}}, {{c1, c2, c3}, {d1, d2, d3}}} > > which can be viewed as a color image with > > Graphics[Raster[color,ColorFunction->RGBColor]]//Show > > When the 2D arrays are large, combining them to form the color tensor as > above is very time consuming. Surely there is a more efficient, clever > way to combine them than my use of Table, right? > > Many thanks, > > Kevin Gross > > PS Any comments pro/con from users of the Digital Image Processing > package are also welcome. > <><><><><><><><><><><><> Johannes Ludsteck Economics Department University of Regensburg Universitaetsstrasse 31 93053 Regensburg Phone +49/0941/943-2741