Re: Need faster way to combine arrays
- To: mathgroup at smc.vnet.net
- Subject: [mg36067] Re: Need faster way to combine arrays
- From: Selwyn Hollis <slhollis at earthlink.net>
- Date: Thu, 15 Aug 2002 02:36:18 -0400 (EDT)
- References: <ajd7sn$ekc$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Something like this?
Partition[Transpose[Flatten/@{r, g, b}], 2]
---
Selwyn Hollis
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.
>