Re: Bitmap data extraction (matrix of matrix)

*To*: mathgroup at smc.vnet.net*Subject*: [mg76501] Re: Bitmap data extraction (matrix of matrix)*From*: Ray Koopman <koopman at sfu.ca>*Date*: Wed, 23 May 2007 05:22:05 -0400 (EDT)*References*: <f2u51n$k09$1@smc.vnet.net>

On May 22, 12:10 am, mkorn... at nd.edu wrote: > Hello, > > This is most likely a simple question for those who use Mathematica on > a semi-regular basis, but ... > > I have a 512x512 matrix composed of 1x3 matrix elements, and want to > create a 512x512 matrix composed of a single value in the original 1x3 > elements. > > That doesn't look very well defined, so please let me explain further > in the hopes of clarifying what I am after. > > It's a bitmap image file (512x512) and I want to extract a part of the > "raw" data for further processing. The raw data in the original file > consists of values for the red, green and blue (RGB). I would like to > create a matrix composed of only the *red* values across the 512x512 > array. > > As a simplified example .... > > Given RGB = {{1,0,1},{2,3,2},{4,6,4},{3,2,1}} > {{9,1,3},{3,2,1},{4,3,3},{5,3,2}} > > I would like to end up with R = {1,2,4,3} > {9,3,4,5} > > Thank you for your time, > > Mike K. If Dimensions[rgb] = {p,q,3} then Dimensions[t = Transpose[rgb,{2,3,1}]] = {3,p,q}], and t[[1]] will give the p x q matrix of reds, t[[2]] will give the p x q matrix of greens, and t[[3]] will give the p x q matrix of blues.