A cookbook of algorithms for common image processing applications Thanks to advances in computer hardware and software, algorithms have been developed that support sophisticated image processing without requiring an extensive background in mathematics. This bestselling book has been fully updated with the newest of these, including 2D vision methods in content-based searches and the use of graphics cards as image processing computational aids. It's an ideal reference for software engineers and developers, advanced programmers, graphics programmers, scientists, and other specialists who require highly specialized image processing.
Algorithms now exist for a wide variety of sophisticated image processing applications required by software engineers and developers, advanced programmers, graphics programmers, scientists, and related specialists This bestselling book has been completely updated to include the latest algorithms, including 2D vision methods in content-based searches, details on modern classifier methods, and graphics cards used as image processing computational aids Saves hours of mathematical calculating by using distributed processing and GPU programming, and gives non-mathematicians the shortcuts needed to program relatively sophisticated applications. Algorithms for Image Processing and Computer Vision, 2nd Edition provides the tools to speed development of image processing applications.
Preface. Chapter 1 Practical Aspects of a Vision System - Image Display, Input/Output, and Library Calls. OpenCV. The Basic OpenCV Code. The IplImage Data Structure. Reading and Writing Images. Image Display. An Example. Image Capture. Interfacing with the AIPCV Library. Website Files. References. Chapter 2 Edge-Detection Techniques. The Purpose of Edge Detection. Traditional Approaches and Theory. Models of Edges. Noise. Derivative Operators. Template-Based Edge Detection. Edge Models: The Marr-Hildreth Edge Detector. The Canny Edge Detector. The Shen-Castan (ISEF) Edge Detector. A Comparison of Two Optimal Edge Detectors. Color Edges. Source Code for the Marr-Hildreth Edge Detector. Source Code for the Canny Edge Detector. Source Code for the Shen-Castan Edge Detector. Website Files. References. Chapter 3 Digital Morphology. Morphology Defined. Connectedness. Elements of Digital Morphology-Binary Operations. Binary Dilation. Implementing Binary Dilation. Binary Erosion. Implementation of Binary Erosion. Opening and Closing. MAX-A High-Level Programming Language for Morphology. The "Hit-and-Miss" Transform. Identifying Region Boundaries. Conditional Dilation. Counting Regions. Grey-Level Morphology. Opening and Closing. Smoothing. Gradient. Segmentation of Textures. Size Distribution of Objects. Color Morphology. Website Files. References. Chapter 4 Grey-Level Segmentation. Basics of Grey-Level Segmentation. Using Edge Pixels. Iterative Selection. The Method of Grey-Level Histograms. Using Entropy. Fuzzy Sets. Minimum Error Thresholding. Sample Results From Single Threshold Selection. The Use of Regional Thresholds. Chow and Kaneko. Modeling Illumination Using Edges. Implementation and Results. Comparisons. Relaxation Methods. Moving Averages. Cluster-Based Thresholds. Multiple Thresholds. Website Files. References. Chapter 5 Texture and Color. Texture and Segmentation. A Simple Analysis of Texture in Grey-Level Images. Grey-Level Co-Occurrence. Maximum Probability. Moments. Contrast. Homogeneity. Entropy. Results from the GLCM Descriptors. Speeding Up the Texture Operators. Edges and Texture. Energy and Texture. Surfaces and Texture. Vector Dispersion. Surface Curvature. Fractal Dimension. Color Segmentation. Color Textures. Website Files. References. Chapter 6 Thinning. What Is a Skeleton? The Medial Axis Transform. Iterative Morphological Methods. The Use of Contours. Choi/Lam/Siu Algorithm. Treating the Object as a Polygon. Triangulation Methods. Force-Based Thinning. Definitions. Use of a Force Field. Subpixel Skeletons. Source Code for Zhang-Suen/Stentiford/Holt Combined Algorithm. Website Files. References. Chapter 7 Image Restoration. Image Degradations-The RealWorld. The Frequency Domain. The Fourier Transform. The Fast Fourier Transform. The Inverse Fourier Transform. Two-Dimensional Fourier Transforms. Fourier Transforms in OpenCV. Creating Artificial Blur. The Inverse Filter. TheWiener Filter. Structured Noise. Motion Blur-A Special Case. The Homomorphic Filter-Illumination. Frequency Filters in General. Isolating Illumination Effects. Website Files. References. Chapter 8 Classification. Objects, Patterns, and Statistics. Features and Regions. Training and Testing. Variation: In-Class and Out-Class. Minimum Distance Classifiers. Distance Metrics. Distances Between Features. Cross Validation. Support Vector Machines. Multiple Classifiers-Ensembles. Merging Multiple Methods. Merging Type 1 Responses. Evaluation. Converting Between Response Types. Merging Type 2 Responses. Merging Type 3 Responses. Bagging and Boosting. Bagging. Boosting. Website Files. References. Chapter 9 Symbol Recognition. The Problem. OCR on Simple Perfect Images. OCR on Scanned Images-Segmentation. Noise. Isolating Individual Glyphs. Matching Templates. Statistical Recognition. OCR on Fax Images-Printed Characters. Orientation-Skew Detection. The Use of Edges. Handprinted Characters. Properties of the Character Outline. Convex Deficiencies. Vector Templates. Neural Nets. A Simple Neural Net. A Backpropagation Net for Digit Recognition. The Use of Multiple Classifiers. Merging Multiple Methods. Results From the Multiple Classifier. Printed Music Recognition-A Study. Staff Lines. Segmentation. Music Symbol Recognition. Source Code for Neural Net Recognition System. Website Files. References. Chapter 10 Content-Based Search - Finding Images by Example. Searching Images. Maintaining Collections of Images. Features for Query by Example. Color Image Features. Mean Color. Color Quad Tree. Hue and Intensity Histograms. Comparing Histograms. Requantization. Results from Simple Color Features. Other Color-Based Methods. Grey-Level Image Features. Grey Histograms. Grey Sigma-Moments. Edge Density-Boundaries Between Objects. Edge Direction. Boolean Edge Density. Spatial Considerations. Overall Regions. Rectangular Regions. Angular Regions. Circular Regions. Hybrid Regions. Test of Spatial Sampling. Additional Considerations. Texture. Objects, Contours, Boundaries. Data Sets. Website Files. References. Systems. Chapter 11 High-Performance Computing for Vision and Image Processing. Paradigms for Multiple-Processor Computation. Shared Memory. Message Passing. Execution Timing. Using clock() . Using QueryPerformanceCounter. The Message-Passing Interface System. Installing MPI. Using MPI. Inter-Process Communication. Running MPI Programs. Real Image Computations. Using a Computer Network-Cluster Computing. A Shared Memory System-Using the PC Graphics Processor. GLSL. OpenGL Fundamentals. Practical Textures in OpenGL. Shader Programming Basics. Vertex and Fragment Shaders. Required GLSL Initializations. Reading and Converting the Image. Passing Parameters to Shader Programs. Putting It All Together. Speedup Using the GPU. Developing and Testing Shader Code. Finding the Needed Software. Website Files. References. Index.