Re: Colored ListDensityPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg9355] Re: Colored ListDensityPlot
- From: "Stephen P Luttrell" <luttrell at signal.dra.hmg.gb>
- Date: Sat, 1 Nov 1997 03:33:41 -0500
- Organization: Defence Evaluation and Research Agency
- Sender: owner-wri-mathgroup at wolfram.com
> I am trying to manipulate image data which is described as pixel > intensity data, with the intensities of various colors in separate > files. It is easy to read the data in, reformatting it as an array, and > display a black and white image of any given color using > ListDensityPlot. > > What I would like to do is to plot it as a false color (or even true > color) image using something like ListDensityPlot. Ideally I could > describe the image as an array of vectors {R,G,B} and then plot the > result as a color image. > > I would be grateful for any suggestions, or even a package, for doing > this. Here is an example which plots an {R,G,B} triplet of images as a coloured image: n=20; R=Table[Random[],{n},{n}]; G=Table[Random[],{n},{n}]; B=Table[Random[],{n},{n}]; RGB=MapThread[RGBColor,{r,g,b},2]; Show[Graphics[RasterArray[RGB]],AspectRatio->1]; There are two main tricks used here: 1. MapThread[RGBColor,{r,g,b},2] wraps the {RGB} triple for each image pixel in the function RGBColor, which is the appropriate graphics directive for displaying coloured pixels in natural colour format. 2. Graphics[RasterArray[RGB]] then creates a rectangular array of cells coloured according to the graphics directives in (1) above. You get other colouring schemes if you use Hue, GrayLevel or CMYKColor rather than RGBColor. ---------------------------------------------------------------------------- ------------------------------------------ Stephen P Luttrell luttrell at signal.dra.hmg.gb Adaptive Systems Theory 01684-894046 (phone) Room EX21, DERA 01684-894384 (fax) Malvern, Worcs, WR14 3PS, U.K. http://www.dra.hmg.gb/cis5pip/Welcome.html