<< Chapter < Page Chapter >> Page >
Introduction on how images and sounds are represented (including colors and coordinates) in processing.

Visual elements

Coordinates

In Processing, the representation of graphic objects is based on a cartesian 3Dcoordinate system, as displayed in [link] .

Coordinate system

3D coordinate system used in Processing
2D images are processed by acting on the X-Y plane, thus assuming that the Z coordinate is zero. The function size() defines the display window size and the rendering engine that will be used to paint onto the window. The default engine is JAVA2D, the 2Dgraphic Java libray. A bidimensional rendering engine, especially suitable for faster pixel-based image processing, is P2D(Processing 2D). If one wants to program in 3D, he must choose either the P3D (Processing 3D) rendering engine,especially suited for web-oriented graphics, or OPENGL, which delegates many typical 3D operations to the graphicboard thus freeing the CPU from many computations. Moreover, if the objective is high-quality printing with vector graphics, a PDFrendering option is available.

Images

In Processing, an image can be assigned to an object of the class PImage . The function loadImage("myImage") takes a file (gif or jpg) myImage , containing the pixel coding of an image, and gives back the content of such image, which can beassigned to a variable of type PImage . The file myImage must be loaded in the data folder of the directory having the same name as the Processing sketch we are working at.

When the New command is executed, processing opens up a folder named sketch_??????? within the Processing directory, corresponding to the name assigned bye the system to the newly created file. Such folder is accessible from theProcessing menu item Sketch/Add File .
The class PImage gives access, by the fields width and height , to the width and height of the loaded image. The image content is accessed viathe pixels[] field.

Loading and visualizing an image

size(400,300); PImage b;b = loadImage("gondoliers.jpg"); println("width=" + b.width + " height=" + b.height);image(b, 0, 0, 400, 300); // position (0,0); width=400; height=300; image(b, 20, 10, 100, 80); // position (20,10); width=100; height=80;
Got questions? Get instant answers now!

Colors

Since our color receptors ( cones ), each tuned to a wavelength region, are of three kinds, color modelsare always referred to a three-dimensional space. In additive color models, each of three axes correspond to a base color,and by mixing three colored light beams one can obtain all colors within a gamut volume in the space defined by the three axes. The three base colors can be chosenarbitrarily or, more often, based on the application domain (e.g., color of three phosphors or laser beams). In printingprocesses, subtractive color models are used, where the starting point is the white surface and primary ink colors areused to subtract color from white.

Guide to color models: (External Link)

In processing color is a primitive type used to specify colors. It is realized by a 32-bit number, where thefirst byte specifies the alpha value, and the other bytes specify a triple either in the RGB or in the HSB model. Thechoice of one model or the other is made by the colorMode() function. With three bytes, a number of 256 256 256 16777216 are representable.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Media processing in processing. OpenStax CNX. Nov 10, 2010 Download for free at http://cnx.org/content/col10268/1.14
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Media processing in processing' conversation and receive update notifications?

Ask