118 Also known as rasterr graphics Record a value for every pixel in the image Often created from an external source Scanner, digital camera, Painting P i programs allow direct creation of images with analogues of natural media, brushes,
118 119 Printers, scanners: specify as dots per unit length, often do ots per inch (dpi) Desktop printer 600dpi, typesetter 1270dpi, scanner 300 3600dpi, 3600dpi, Video, monitors: specify as pixel dimensions PAL TV 768x576px, 17" CRT monitor 1024x768px, dpi depends on physical size of screen
120 Array of pixels has pi ixel dimensions, but no physical dimensions By default, displayed d size depends on resolution (dpi) of output device physical dimension = pixel dimension/resolution Can store image resolution (ppi) in image file to maintain i image e's original i size Scale by device resolution/image resolution
120 122 If image resolution < output device resolution, must interpolate extra pixels Always leads to loss of quality If image resolution > output device resolution, must downsample (discard pixels) Quality will often be better than that of an image at device resolution (uses more information) Image sampled at a higher resolution than that of intended output device e is oversampled
122 123 Image files may be tooo big for network transmission, even at low resolutions Use more sophisticated data representation or discard informationn to reduce data size Effectiveness of compression will depend on actual image data For any compression scheme, there will always be some data for which 'compressed' version is actually bigger than the original
122 125 Always possible to decompress compressed data and obtain an exact copy of the original uncompressed data Data is just more efficiently arranged, none is discarded Run-length encoding (RLE) Huffmann coding Dictionary-based schemes LZ77, LZ78, LZW (LZW used in GIF, licence fee charged)
125 126 Lossy technique, well suited to photographs, images with fine detail and continuous tones Consider image as a spatially varying signal that can be analysed in the frequency domain Experimental fact: people do not perceive the effect of high frequ uencies in images very accurately Hence, high frequency information can be discarded without perceptible loss of quality
125 127 Discrete Cosine Transform Similar to Fourier Transform, analyses a signal into its frequency components Takes array of pixel values,,produces an array of coefficients of frequency components in the image Computationally expensive process time proportional to square of number of pixels Apply to 8x8 blocks of pixels
127 Applying DCT does not reduce data size Array of coefficients is same size as array of pixels Allows information ab bout high frequency components to be identified and discarded Use fewer bits (distin nguish fewer different values) for higher frequency components Number of levels for each frequency coefficient may be specified separately in a quantization matrix
127 After quantization, there will be many zero coefficients Use RLE on zig-zag sequence (maximizes runs) Use Huffman coding of other coefficients (best use of available bits)
128 Expand runs of zeros and decompress Huffman-encoded coefficients to reconstruct array of frequency coe efficients Use Inverse Discrete Cosine Transform to take data back from frequency to spatial domain Data discarded in quantization step of compression procedu ure cannot be recovered Reconstructed image is an approximation (usually very good) to the original image
129 If use low quality setting (i.e. coarser quantization), bound daries between 8x8 blocks become visible If image has sharp edges these become blurred Rarely a problem with photographic images, but especially bad with text Better to use good lossless method with text or computer-generated images
130 Many useful opera ations described by analogy with darkroom techniques for alte ering photos Correct deficiencies in image Remove 'red-eye', eye' en nhance contrast, Create artificial effects Filters: stylize, disto ort, Geometrical transformations Scale (change resol lution), rotate,
131 132 No distinct objects (contrast vector graphics) Selection tools define an area of pixels Draw selection (pen tool, lasso) Select regular shape (rectangular, elliptical, 1px marquee tools) Select on basis of colour/edges (magic wand, magnetic lasso) Adjustments &c rest tricted to selected area
132 135 Area not selected is masked by stencil Can represent on/off mask as array of 1 bit per pixel (b/w im mage) transparent mask) protected, as if Generalize to greyscale image (semialpha channel Feathered and anti-aliased selections Use as layer mask to modify layer compositing
136 Compute new value for pixel from its old value p' = f(p), f is a mapping function In greyscale images s, ppp alters brightness and contrast Compensate for poor exposure, bad lighting, bring out detail Use with mask to adjus st parts of image (e.g. shadows and highlights)
139 142 Compute new value for pixel from its old value and the values of surrounding pixels Filtering operations Compute weighted values average of pixel Array of weights k/a convolution mask Pixels used in convolution k/a convolution kernel Computationally intensive process
142 144 Classic simple blur Convolution mask with equal weights Unnatural effect Gaussian blur Convolution mask with coefficients i falling off gradually (Gaussian bell curve) More gentle, can set amo ount and radius
144 147 Low frequency filter 3x3 convolution mask coefficients all equal to -1, except centre = 9 Produces harsh edges Unsharp masking Copy image, apply Ga aussian blur to copy, subtract it from original Enhances image features
148 150 Scaling, rotation, etc. Simple operations in vector graphics Requires each pixel to be transformed in bitmapped image Transformations may 'send pixels into gaps' i.e. interpolation is required Equivalent to reconstruc ction & resampling; tends to degrade image quality
150 151 Nearest neighbor Use value of pixel wh hose centre is closest in the original image to real coordinates of ideal interpolated pixel Bilinear interpolation Use value of all four adjacent pixels, weighted by intersection with target pixel Bicubic interpolationn Use values of all four adjacent pixels, weighted using cubicc splines