140 likes | 311 Views
Conventional Image Processing. grids. Digital Image Notation. Digital images are typically stored with the first index representing the row number and second index the column number. Adjacent pixels on a given line are stored in adjacent blocks of memory
E N D
Digital Image Notation • Digital images are typically stored with the first index representing the row number and second index the column number. • Adjacent pixels on a given line are stored in adjacent blocks of memory • Image storage using dynamic memory allocation in C/C++ uses an array of pointers to point to each line. • A single memory allocation is used to store all image data.
Point operations • Point operations translate gray scale values on a pixel-by-pixel basis from one image to another. • Contrast modifications, logical operations and thresholding are examples of this kind of operation.
Multiple Image Operations • Many different mathematical operations can be performed on pairs of images on a pixel-by-pixel basis. • These include addition, subtraction and logical operations. • Color image processing is an example of operations involving more than 2 images. • Processing of multispectral images can involve hundreds of individual images.
Examples of Multiple Image Operations • Image sum • Image difference • Multiplication and division (not common!) • Logical operations (XOR, AND, OR) • MIN and MAX operations
Local Operators • A local operator performs calculations based on a relatively small number of pixels in the input image to calculate the output pixel value. • Processing speeds decrease linearly with increasing operator size • Both linear and nonlinear operations are possible.
Linear Operators • Convolution operations are implemented using local operatiors. • The output pixel is the sum of the products of each pixel times it coefficient. • Note that this is essentially a 2-D FIR filter. • If the sum of the coefficients (weights) is 0 the filter removes the DC component from the image. • This type of operation can be relatively slow unless implemented efficiently. • Gaussian impulse response!
“Semilinear” Operators • Some local operators employ both linear and nonlinear processing. • The Roberts Cross and Sobel edge detectors are examples of this approach
Roberts Cross After convolving with two operators, the output is calculated in one of two ways:
Sobel Operator • Output is either (Gx2+Gy2)1/2 or the sum of the magnitudes as with the Roberts Cross • Popular edge detector has some noise immunity since it performs some low-pass filter
Nonlinear Operators • Nonlinear operators have proven to be very useful for image processing. • The median filter is very effective for removing impulse noise • Mathematical morphology is a powerful tool for image analysis.