Digital image processing
In computer science, digital image processing is the use of computer algorithms to perform image processing on digital images.[1] As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing. It allows a much wider range of algorithms to be applied to the input data and can avoid problems such as the build-up of noise and signal distortion during processing. Since images are defined over two dimensions (perhaps more) digital image processing may be modeled in the form of multidimensional systems.
Contents
1 History
2 Tasks
3 Digital image transformations
3.1 Filtering
3.2 Image padding in Fourier domain filtering
3.3 Filtering Code Examples
3.4 Affine transformations
4 Applications
4.1 Digital camera images
4.2 Film
5 See also
6 References
7 Further reading
8 External links
History
Many of the techniques of digital image processing, or digital picture processing as it often was called, were developed in the 1960s at the Jet Propulsion Laboratory, Massachusetts Institute of Technology, Bell Laboratories, University of Maryland, and a few other research facilities, with application to satellite imagery, wire-photo standards conversion, medical imaging, videophone, character recognition, and photograph enhancement.[2] The cost of processing was fairly high, however, with the computing equipment of that era. That changed in the 1970s, when digital image processing proliferated as cheaper computers and dedicated hardware became available. Images then could be processed in real time, for some dedicated problems such as television standards conversion. As general-purpose computers became faster, they started to take over the role of dedicated hardware for all but the most specialized and computer-intensive operations.
With the fast computers and signal processors available in the 2000s, digital image processing has become the most common form of image processing and generally, is used because it is not only the most versatile method, but also the cheapest.
Digital image processing technology for medical applications was inducted into the Space Foundation Space Technology Hall of Fame in 1994.[3]
Tasks
Digital image processing allows the use of much more complex algorithms, and hence, can offer both more sophisticated performance at simple tasks, and the implementation of methods which would be impossible by analog means.
In particular, digital image processing is the only practical technology for:
- Classification
- Feature extraction
- Multi-scale signal analysis
- Pattern recognition
- Projection
Some techniques which are used in digital image processing include:
- Anisotropic diffusion
- Hidden Markov models
- Image editing
- Image restoration
- Independent component analysis
- Linear filtering
- Neural networks
- Partial differential equations
- Pixelation
- Principal components analysis
- Self-organizing maps
- Wavelets
Digital image transformations
Filtering
Digital filters are used to blur and sharpen digital images. Filtering can be performed in the spatial domain by convolution with specifically designed kernels (filter array), or in the frequency (Fourier) domain by masking specific frequency regions. The following examples show both methods:
[4]
Filter type | Kernel or mask | Example |
---|---|---|
Original Image | [000010000]{displaystyle {begin{bmatrix}0&0&0\0&1&0\0&0&0end{bmatrix}}} | |
Spatial Lowpass | 19×[111111111]{displaystyle {frac {1}{9}}times {begin{bmatrix}1&1&1\1&1&1\1&1&1end{bmatrix}}} | |
Spatial Highpass | [0−10−14−10−10]{displaystyle {begin{bmatrix}0&-1&0\-1&4&-1\0&-1&0end{bmatrix}}} | |
Fourier Representation | Pseudo-code: image = checkerboard F = Fourier Transform of image Show Image: log(1+Absolute Value(F)) | |
Fourier Lowpass | ||
Fourier Highpass |
Image padding in Fourier domain filtering
Images are typically padded before being transformed to the Fourier space, the highpass filtered images below illustrate the consequences of different padding techniques:
Zero padded | Repeated edge padded |
---|---|
Notice that the highpass filter shows extra edges when zero padded compared to the repeated edge padding.
Filtering Code Examples
MATLAB example for spatial domain highpass filtering.
img=checkerboard(20); % generate checkerboard
% ************************** SPATIAL DOMAIN ***************************
klaplace=[0 -1 0; -1 5 -1; 0 -1 0]; % Laplacian filter kernel
X=conv2(img,klaplace); % convolve test img with
% 3x3 Laplacian kernel
figure()
imshow(X,) % show Laplacian filtered
title('Laplacian Edge Detection')
Affine transformations
Affine transformations enable basic image transformations including scale, rotate, translate, mirror and shear as is shown in the following examples:[5]
Transformation Name | Affine Matrix | Example |
---|---|---|
Identity | [100010001]{displaystyle {begin{bmatrix}1&0&0\0&1&0\0&0&1end{bmatrix}}} | |
Reflection | [−100010001]{displaystyle {begin{bmatrix}-1&0&0\0&1&0\0&0&1end{bmatrix}}} | |
Scale | [cx=2000cy=10001]{displaystyle {begin{bmatrix}c_{x}=2&0&0\0&c_{y}=1&0\0&0&1end{bmatrix}}} | |
Rotate | [cos(θ)sin(θ)0−sin(θ)cos(θ)0001]{displaystyle {begin{bmatrix}cos(theta )&sin(theta )&0\-sin(theta )&cos(theta )&0\0&0&1end{bmatrix}}} | where θ = π/6 =30° |
Shear | [1cx=0.50cy=010001]{displaystyle {begin{bmatrix}1&c_{x}=0.5&0\c_{y}=0&1&0\0&0&1end{bmatrix}}} |
Applications
Digital camera images
Digital cameras generally include specialized digital image processing hardware – either dedicated chips or added circuitry on other chips – to convert the raw data from their image sensor into a color-corrected image in a standard image file format.
Film
Westworld (1973) was the first feature film to use the digital image processing to pixellate photography to simulate an android's point of view.[6]
See also
- Computer graphics
- Computer vision
- CVIPtools
- Digitizing
- GPGPU
- Homomorphic filtering
- Image analysis
- IEEE Intelligent Transportation Systems Society
- Multidimensional systems
- Remote sensing software
- Standard test image
- Superresolution
References
^ Pragnan Chakravorty, "What Is a Signal? [Lecture Notes]," IEEE Signal Processing Magazine, vol. 35, no. 5, pp. 175-177, Sept. 2018. https://doi.org/10.1109/MSP.2018.2832195
^ Azriel Rosenfeld, Picture Processing by Computer, New York: Academic Press, 1969
^ "Space Technology Hall of Fame:Inducted Technologies/1994". Space Foundation. 1994. Archived from the original on 4 July 2011. Retrieved 7 January 2010..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output q{quotes:"""""""'""'"}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-limited a,.mw-parser-output .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}
^ Gonzalez, Rafael (2008). Digital Image Processing, 3rd. Pearson Hall. ISBN 9780131687288.
^ Gonzalez, Rafael (2008). Digital Image Processing, 3rd. Pearson Hall. ISBN 9780131687288.
^ A Brief, Early History of Computer Graphics in Film Archived 17 July 2012 at the Wayback Machine., Larry Yaeger, 16 August 2002 (last update), retrieved 24 March 2010
Further reading
Solomon, C.J.; Breckon, T.P. (2010). Fundamentals of Digital Image Processing: A Practical Approach with Examples in Matlab. Wiley-Blackwell. doi:10.1002/9780470689776. ISBN 978-0470844731.
Wilhelm Burger; Mark J. Burge (2007). Digital Image Processing: An Algorithmic Approach Using Java. Springer. ISBN 978-1-84628-379-6.
R. Fisher; K Dawson-Howe; A. Fitzgibbon; C. Robertson; E. Trucco (2005). Dictionary of Computer Vision and Image Processing. John Wiley. ISBN 978-0-470-01526-1.
Rafael C. Gonzalez; Richard E. Woods; Steven L. Eddins (2004). Digital Image Processing using MATLAB. Pearson Education. ISBN 978-81-7758-898-9.
Tim Morris (2004). Computer Vision and Image Processing. Palgrave Macmillan. ISBN 978-0-333-99451-1.
Milan Sonka; Vaclav Hlavac; Roger Boyle (1999). Image Processing, Analysis, and Machine Vision. PWS Publishing. ISBN 978-0-534-95393-5.
Alhadidi, Basim; Zu'bi, Mohammad H.; Suleiman, Hussam N. (2007). "Mammogram Breast Cancer Image Detection Using Image Processing Functions". Information Technology Journal. 6 (2): 217–221. doi:10.3923/itj.2007.217.221.
External links
Lectures on Image Processing, by Alan Peters. Vanderbilt University. Updated 7 January 2016.
IPRG Open group related to image processing research resources- Processing digital images with computer algorithms
IPOL Open research journal on image processing with software and web demos.